Como configurar o WP Mail SMTP para resolver falhas de envio de e-mail no WooCommerce

Como configurar o WP Mail SMTP para resolver falhas de envio de e-mail no WooCommerce

Seu WooCommerce está perdendo vendas porque os clientes não recebem e-mails de confirmação, recuperação de carrinho ou notificações de pedido. O problema quase sempre é o mesmo: o WordPress usa a função mail() do PHP, que é bloqueada por provedores de hospedagem e serviços de e-mail como Gmail, Outlook ou Yahoo. A solução direta é configurar um servidor SMTP autêntico com o WP Mail SMTP, o plugin mais usado para resolver esse tipo de falha. Neste guia, você vai aprender a diagnosticar o erro, configurar o plugin corretamente e testar a entrega.

O que você vai aprender
  • Por que os e-mails do WooCommerce não estão sendo entregues
  • Como instalar e configurar o WP Mail SMTP passo a passo
  • Diferença entre servidores SMTP gratuitos e transacionais
  • Como configurar registros SPF, DKIM e DMARC para evitar rejeição
  • Como usar logs de e-mail para depurar erros
  • Testes práticos para garantir que tudo está funcionando

Por que o WooCommerce não envia e-mails?

O WooCommerce, por padrão, utiliza a função wp_mail() do WordPress, que por sua vez depende da função mail() do PHP. A maioria das hospedagens compartilhadas desabilita ou restringe severamente o uso dessa função para evitar que servidores sejam usados como relays de spam. Além disso, mesmo quando habilitada, provedores como Gmail, Outlook e Yahoo aplicam políticas rigorosas de autenticação (SPF, DKIM, DMARC) e exigem conexões criptografadas (TLS/SSL). Sem autenticação, seus e-mails são marcados como spam ou rejeitados.

Os sintomas clássicos incluem:

  • Cliente faz um pedido e nunca recebe o e-mail de confirmação.
  • Você não recebe notificações de novos pedidos no WooCommerce.
  • E-mails de recuperação de senha ou de carrinho abandonado não chegam.
  • No painel do WooCommerce, os pedidos aparecem como “Em processamento”, mas o cliente reclama que não recebeu nada.

O WP Mail SMTP resolve isso redirecionando todos os e-mails do WordPress para um servidor SMTP autenticado, em vez de usar a função mail() do PHP. Dessa forma, você garante que os e-mails sejam enviados com credenciais válidas e conexão criptografada.

Escolhendo o serviço SMTP ideal

Antes de configurar o plugin, você precisa de um serviço SMTP. Existem duas categorias principais:

Serviços SMTP gratuitos (limitados)

  • Gmail SMTP: Funciona, mas tem limites de 500 e-mails por dia (contas gratuitas) e exige autenticação OAuth 2.0. Indicado apenas para testes ou sites com volume muito baixo.
  • SendGrid Free: 100 e-mails/dia gratuitos. Suficiente para lojas em início.
  • Mailgun Free: 5.000 e-mails/mês nos primeiros 3 meses, depois 1.000/mês.
  • Amazon SES: 62.000 e-mails/mês gratuitos se você estiver na camada gratuita da AWS (apenas para envio de EC2, na prática pode gerar custos).

Serviços SMTP transacionais (pagos, recomendados para produção)

  • SendGrid (Planos pagos): A partir de $19,95/mês para 50.000 e-mails.
  • Mailgun: A partir de $35/mês para 50.000 e-mails.
  • Postmark: Focado em entregabilidade, a partir de $15/mês para 10.000 e-mails.
  • Amazon SES: $0,10 por 1.000 e-mails, excelente para alto volume.

Para lojas WooCommerce com volume acima de 100 transações por mês, um serviço transacional é o caminho. O investimento é pequeno e a entregabilidade é drasticamente superior.

Fluxo de e-mail transacional com autenticação SPF, DKIM e DMARC

Instalação e configuração do WP Mail SMTP

O WP Mail SMTP está disponível em versão gratuita (WP Mail SMTP Lite) e versão Pro. A versão Lite cobre a maioria dos casos de uso comuns, incluindo suporte a Gmail, SendGrid, Mailgun, Amazon SES, SMTP genérico e outros. A versão Pro adiciona logs de e-mail, relatórios de entrega, controle de e-mails duplicados e integração com serviços de e-mail marketing.

Neste tutorial, usaremos a versão Pro (disponível no Clube GPL) porque os logs de e-mail são essenciais para depuração. O passo a passo é praticamente idêntico para a versão Lite, com exceção dos recursos avançados.

Passo 1: Instalar o plugin

  1. No painel do WordPress, vá em Plugins > Adicionar Novo.
  2. Pesquise por “WP Mail SMTP” ou, se tiver a versão Pro, faça o upload do arquivo ZIP.
  3. Ative o plugin.

Passo 2: Acessar as configurações

Vá em Configurações > WP Mail SMTP. Você verá a tela principal de configuração.

Passo 3: Escolher o Mailer (servidor SMTP)

No campo Mailer, selecione a opção correspondente ao serviço que você escolheu. As opções mais comuns são:

  • SendGrid: Se você criou uma conta no SendGrid.
  • Mailgun: Se você usa Mailgun.
  • Amazon SES: Se você tem uma conta AWS configurada.
  • SMTP: Se você deseja configurar manualmente um servidor SMTP genérico (ex: seu provedor de hospedagem, Gmail, Outlook, etc.).
  • Outros: Gmail (via OAuth), Outlook, Zoho, etc.

Para este exemplo, vamos configurar o SendGrid, que é um dos mais fáceis e confiáveis.

Passo 4: Configurar o SendGrid

  1. Selecione SendGrid no campo Mailer.
  2. No campo SendGrid API Key, insira a chave de API gerada no painel do SendGrid. Para gerar a chave, faça login no SendGrid, vá em Settings > API Keys e crie uma chave com permissão de envio (Full Access ou Restricted Access com permissão de Mail Send).
  3. Clique em Salvar Configurações.
Dica: Se você estiver usando SMTP genérico (ex: do seu provedor de hospedagem), preencha os campos: Host SMTP, Porta (587 para TLS, 465 para SSL), Criptografia (TLS ou SSL), e as credenciais de login (usuário e senha). O WP Mail SMTP oferece uma lista de configurações pré-definidas para os principais provedores.

Passo 5: Configurar o “From Email” (E-mail de origem)

No campo From Email, defina o endereço de e-mail que será usado como remetente. IMPORTANTE: Esse endereço deve ser o mesmo que você usou para configurar a conta no serviço SMTP (ex: co*****@************om.br). Se você usar um endereço diferente, o serviço SMTP pode rejeitar o envio.

O campo From Name é opcional, mas recomendamos usar o nome da sua loja.

Passo 6: Configurar registros DNS (SPF, DKIM, DMARC)

Essa é a etapa mais importante para garantir que seus e-mails não caiam em spam. Sem esses registros, provedores como Gmail e Outlook podem rejeitar ou marcar seus e-mails como suspeitos.

SPF (Sender Policy Framework)

Define quais servidores têm permissão para enviar e-mails em nome do seu domínio. Adicione um registro TXT no DNS do seu domínio com o seguinte formato (substitua pelo seu serviço):

v=spf1 include:sendgrid.net ~all

Se você usa outro serviço, consulte a documentação para o valor correto de include. Ex: include:spf.mailgun.org, include:amazonses.com.

DKIM (DomainKeys Identified Mail)

Adiciona uma assinatura digital ao e-mail, garantindo que ele não foi alterado durante o trânsito. Cada serviço SMTP gera um registro DKIM específico. No SendGrid, vá em Settings > Sender Authentication > Domain Authentication e siga as instruções para gerar o registro CNAME ou TXT a ser adicionado no DNS.

DMARC (Domain-based Message Authentication, Reporting & Conformance)

Política que define como provedores devem tratar e-mails que falham nas verificações SPF e DKIM. Adicione um registro TXT como:

v=DMARC1; p=quarantine; rua=mailto:dm***@************om.br" data-original-string="vEgfM3gzc2e6UoeyNkBhqQ==f2euEtwgcj7sQ55u6PnV+9p9sFACwf9dGWL8BPBVKA6QLMWRvS6nUDsFP9GmNhYTukKGP1ubNywyI92ASITxdiG9wZjMQvdTonjfhyQlz2seKzPWAnWamZEFZp4I5erlcKi4r2J8On+H5ZUqscmXFlJw33NS6IulpLDLfl8wUCNZ1MRFQp8TKiXLirf/b7a71UixbBKxBd4UVgzrfZHb9y482JjmVolzmvdB3jsoREm0BiwPncmW35wg7HN6KCACWg4dOJ8fY7QEwFUqNqBUzWcAOMuPkMWaNJ3t8smU6ldY/seyT4+l9SOJ5G4uA7HcYuN9XQlw/+BCGGpA4faJxV1FumLOIcQRmAOZ9XsyRr+ykP0lxaKJJ/Z6KxHKH5oy4NUXXOmOLaNsy8CnDv96ZrRnzHHjRMW72Kql6gxF/BdDx8=" title="This contact has been encoded by Anti-Spam by CleanTalk. Click to decode. To finish the decoding make sure that JavaScript is enabled in your browser.

O valor p=quarantine instrui provedores a colocar e-mails suspeitos em quarentena (spam). Para sites em produção, comece com p=none para monitorar, depois evolua para p=quarantine ou p=reject.

Atenção: A propagação de registros DNS pode levar de 5 minutos a 48 horas. Após configurar, aguarde antes de fazer testes de envio.

Usando logs de e-mail para depurar erros

Painel de logs de e-mail do WP Mail SMTP Pro

Se os e-mails ainda não estiverem chegando, a funcionalidade de logs de e-mail do WP Mail SMTP Pro é sua melhor amiga. Ela registra cada e-mail enviado, incluindo status, data/hora, destinatário, assunto e, em caso de falha, a mensagem de erro detalhada.

Para acessar os logs:

  1. Vá em WP Mail SMTP > Email Log.
  2. Você verá uma lista com todos os e-mails enviados. Cada linha mostra o status (Success, Failed, Sent), o assunto, o destinatário e a data.
  3. Clique em um e-mail com status “Failed” para ver os detalhes do erro. A mensagem de erro geralmente aponta para a causa raiz: credenciais inválidas, porta bloqueada, falha de autenticação, etc.

Erros comuns que você pode encontrar nos logs:

  • “SMTP connect() failed”: O servidor SMTP não está acessível. Verifique se o host e a porta estão corretos e se sua hospedagem não bloqueia a porta (ex: porta 25 é frequentemente bloqueada).
  • “Authentication failed”: Suas credenciais (usuário/senha ou API Key) estão incorretas.
  • “Could not authenticate with SMTP”: Geralmente relacionado a configurações de criptografia. Tente alternar entre TLS e SSL.
  • “Connection timed out”: O servidor SMTP não respondeu no tempo limite. Pode ser problema de rede ou firewall.

Teste prático: como saber se a configuração está funcionando

Após configurar tudo, faça um teste de envio diretamente pelo plugin:

  1. Vá em WP Mail SMTP > Tools > Test Email.
  2. Insira seu endereço de e-mail no campo “Send To”.
  3. Clique em “Send Email”.
  4. Verifique sua caixa de entrada (e também a pasta de spam).

Se o e-mail de teste chegar, a configuração básica está funcionando. Agora, teste o fluxo completo do WooCommerce:

  1. Faça um pedido de teste na sua loja (use um cupom de 100% de desconto ou um método de pagamento como “Cheque” para não gerar custos reais).
  2. Verifique se o cliente (você no e-mail de teste) recebeu o e-mail de confirmação do pedido.
  3. No painel do WooCommerce, verifique se o administrador recebeu a notificação de novo pedido.
  4. Verifique os logs de e-mail do WP Mail SMTP para confirmar que ambos os e-mails foram enviados com status “Success”.
Checklist de testes de e-mail no WP Mail SMTP
Dica avançada: Se você usa Amazon SES, é necessário verificar seu domínio e seu endereço de e-mail no console da AWS, além de solicitar a saída da sandbox para envio em produção. O WP Mail SMTP tem um assistente de configuração específico para SES que simplifica o processo.

Configuração do SMTP do WooCommerce com WP Mail SMTP

O WP Mail SMTP substitui automaticamente a função wp_mail() do WordPress. Portanto, não é necessário fazer nenhuma configuração adicional no WooCommerce. Todos os e-mails enviados pelo WooCommerce (novo pedido, pedido cancelado, nota do cliente, reembolso, etc.) passarão automaticamente pelo servidor SMTP que você configurou no plugin.

No entanto, se você usa plugins de e-mail marketing que enviam newsletters ou campanhas (como Mailchimp, ActiveCampaign, etc.), esses plugins têm seus próprios mecanismos de envio e geralmente não são afetados pelo WP Mail SMTP. Para esses casos, configure o SMTP diretamente no serviço de e-mail marketing.

O que fazer se o problema persistir

Se mesmo após a configuração correta os e-mails continuarem falhando, verifique os seguintes pontos:

  1. Firewall ou segurança da hospedagem: Algumas hospedagens bloqueiam portas SMTP não padrão. Converse com o suporte para liberar as portas 587 (TLS) e 465 (SSL).
  2. Plugin de cache ou segurança: Desative temporariamente plugins de cache (W3 Total Cache, WP Rocket, LiteSpeed Cache) e plugins de segurança (Wordfence, Sucuri) para testar se eles estão interferindo.
  3. Limite de envio: Serviços gratuitos têm limites baixos. Se sua loja enviar mais e-mails que o permitido, os e-mails serão descartados silenciosamente.
  4. Spamassassin ou filtro de spam do servidor: Verifique se o servidor de hospedagem tem algum filtro de spam adicional que pode estar bloqueando os e-mails.
  5. Logs do servidor: Se o WP Mail SMTP mostrar “SMTP connect() failed” mesmo com as configurações corretas, peça ao suporte da hospedagem para verificar os logs do servidor na porta SMTP.

🚀 Precisa de plugins premium para aplicar este tutorial?

Tenha acesso a milhares de itens originais no Clube GPL por uma fração do preço.

🛒 Explorar catálogo →

Com o WP Mail SMTP configurado corretamente, seus e-mails transacionais do WooCommerce passam a ser enviados por servidores confiáveis, com autenticação SPF, DKIM e DMARC, eliminando de vez o problema de e-mails perdidos ou marcados como spam. Agora seus clientes vão receber notificações de pedido, recuperação de carrinho e confirmações sem sustos.

Para utilizar nosso site, é necessário concordar com nossos termos de consentimento, adesão e suporte. Por isso, recomendamos que você leia-os atentamente antes de prosseguir.