Como corrigir e-mails do WordPress que não são enviados (SMTP)
O que é o WordPress que não envia e-mail?
O WordPress não envia e-mail é a falha em que notificações de novo usuário, redefinição de senha, pedidos do WooCommerce e formulários de contato simplesmente não chegam ao destinatário. A origem quase sempre é a função wp_mail(), que por padrão usa o comando PHP mail() do servidor: sem autenticação SMTP, sem registros SPF/DKIM, esse envio é recusado ou cai direto na caixa de spam. Trocar o transporte para SMTP autenticado resolve o problema na raiz.
Como identificar
- O e-mail de “redefinição de senha” nunca chega, mesmo na pasta de spam.
- Pedidos do WooCommerce não disparam confirmação para o cliente nem para o admin.
- Um plugin de teste de e-mail mostra “e-mail enviado com sucesso”, mas nada é recebido.
- O log do servidor registra “mail() has been disabled” ou a hospedagem informa que o PHP mail() está desativado.
Como prevenir
- Configure SMTP autenticado logo na instalação, antes de depender de e-mails do site
- Mantenha SPF e DKIM publicados no DNS e revise-os ao trocar de provedor de e-mail
- Ative o log de e-mails do plugin de SMTP para auditar entregas e falhas antes que um cliente reclame
Erros relacionados
Causa
O WordPress usa a função PHP mail() padrão, sem autenticação, e o provedor de destino recusa ou marca como spam A hospedagem desativou o comando mail() do PHP (comum em planos compartilhados para conter spam) Ausência de registros SPF e DKIM no DNS do domínio, então o destinatário rejeita a mensagem como falsificada Endereço remetente (from) usa um domínio diferente do site, disparando o filtro anti-spoofing Plugin de SMTP configurado com porta errada (587 vs 465) ou credenciais de senha de app incorretas
Como resolver
- Confirme que o problema é de envio: instale um plugin de SMTP (como WP Mail SMTP ou FluentSMTP) e use a aba de e-mail de teste. Se o teste falha sem SMTP, o transporte padrão é a causa.
- Escolha um provedor SMTP: use o SMTP do seu próprio domínio (via hospedagem), um serviço transacional (Brevo, Mailgun, Amazon SES) ou o Gmail com senha de app. Evite a senha normal da conta.
- Configure host, porta e criptografia: preencha no plugin os dados do provedor. As combinações padrão são porta 587 com TLS ou porta 465 com SSL.
- Alinhe o e-mail remetente ao domínio: use um remetente do mesmo domínio do site (ex.: [email protected]) para não acionar o filtro anti-spoofing.
- Adicione SPF e DKIM no DNS: publique os registros SPF e DKIM que o provedor SMTP fornece. Eles autenticam o domínio e tiram os e-mails da caixa de spam.
- Envie um novo teste: repita o e-mail de teste e confirme a chegada na caixa de entrada, não no spam.
// functions.php do tema filho ou plugin de snippets — roteia o wp_mail() por SMTP
add_action( 'phpmailer_init', function ( $phpmailer ) {
$phpmailer->isSMTP();
$phpmailer->Host = 'smtp.seudominio.com';
$phpmailer->SMTPAuth = true;
$phpmailer->Port = 587; // 587 = TLS | 465 = SSL
$phpmailer->SMTPSecure = 'tls';
$phpmailer->Username = '[email protected]';
$phpmailer->Password = defined( 'SMTP_PASS' ) ? SMTP_PASS : ''; // defina em wp-config.php
$phpmailer->From = '[email protected]';
$phpmailer->FromName = get_bloginfo( 'name' );
} );














