Como corrigir email de pedido do WooCommerce não enviado
O que é o email de pedido do WooCommerce que não é enviado?
Quando o WooCommerce não envia o email de pedido, as notificações transacionais (novo pedido, pedido processando, pedido concluído) não saem do servidor ou não chegam à caixa de entrada. Por padrão o WordPress envia com a função mail() do PHP, que muitos provedores bloqueiam ou que cai direto no spam por falta de autenticação SPF/DKIM. Sem SMTP, a entrega fica frágil.
Como identificar
- O cliente conclui a compra mas não recebe o email “Seu pedido foi recebido”.
- A loja não recebe a notificação “Novo pedido” no email do administrador.
- Um email de teste pelo WP Mail SMTP retorna erro ou simplesmente não chega.
- Só alguns destinatários recebem (ex.: Gmail recebe, mas Outlook joga no spam).
Antes de começar: Guarde a senha ou a chave de API do SMTP com cuidado: ela permite enviar email em nome do seu domínio. Prefira uma chave de API revogável a usar a senha principal da conta de email.
Como prevenir
- Use sempre SMTP autenticado com remetente do próprio domínio, nunca a função mail() do PHP
- Mantenha SPF e DKIM válidos e monitore a reputação do domínio remetente
- Faça um pedido de teste após qualquer migração ou troca de servidor de email
Causa
- Função mail() do PHP desativada ou bloqueada pela hospedagem (comum em planos compartilhados).
- Ausência de SMTP autenticado, fazendo os provedores marcarem o email como spam ou recusarem.
- Registros SPF e DKIM ausentes ou errados no DNS do domínio remetente.
- Email remetente usando um domínio diferente do servidor (ex.: @gmail.com como From), reprovado pela antifalsificação.
- Status do pedido não dispara o email correspondente porque a notificação está desativada em WooCommerce > Configurações > Emails.
Como resolver
- Confirme que as notificações estão ativas: em WooCommerce > Configurações > Emails, verifique se "Novo pedido", "Pedido processando" e "Pedido concluído" estão habilitados e com o destinatário certo.
- Instale um plugin de SMTP: use o WP Mail SMTP ou similar para enviar via servidor autenticado (do seu provedor de email, SendGrid, Brevo etc.) em vez da função mail() do PHP.
- Use um remetente do próprio domínio: configure o From como um email @seudominio.com, nunca @gmail.com ou @hotmail.com. Remetente de domínio externo é recusado pela antifalsificação.
- Configure SPF e DKIM: adicione os registros SPF e DKIM do seu provedor de SMTP no DNS do domínio para autenticar o envio e sair do spam.
- Envie um email de teste: use a ferramenta de teste do plugin de SMTP. Se chegar, refaça um pedido real para confirmar o disparo das notificações do WooCommerce.
PHP
// Força um remetente do próprio domínio (coloque em um plugin de snippets, não no functions do tema)
add_filter( 'wp_mail_from', function( $email ) {
return '[email protected]';
} );
add_filter( 'wp_mail_from_name', function( $name ) {
return 'Loja Seudominio';
} );
Perguntas frequentes
Por que o cliente não recebe mas a loja sim (ou o contrário)?
Cada notificação tem destinatário e gatilho próprios. "Novo pedido" vai para o admin; "Pedido recebido" vai para o cliente. Se uma chega e a outra não, confira se ambas estão ativas e com o email correto em WooCommerce > Emails.
Preciso mesmo de um plugin de SMTP?
Na prática, sim. A função mail() do PHP é bloqueada por muitos hosts e cai no spam por falta de autenticação. Um SMTP autenticado com SPF e DKIM é a forma confiável de entregar os emails transacionais.
O que são SPF e DKIM?
São registros no DNS que provam que o seu servidor tem permissão para enviar email em nome do domínio. Sem eles, provedores como Gmail e Outlook tratam a mensagem como possível falsificação e a jogam no spam.
Posso usar um remetente @gmail.com?
Não recomendado. Enviar como @gmail.com a partir do seu servidor falha na antifalsificação do Google e é recusado ou marcado como spam. Use um endereço do seu próprio domínio como remetente.
O email cai no spam, não some. É o mesmo problema?
É o mesmo conjunto de causas. Cair no spam geralmente indica SPF/DKIM ausentes ou remetente de domínio externo. Configurar SMTP autenticado e os registros de DNS tira a mensagem da pasta de spam.
Os emails pararam depois que migrei de host. Por quê?
O novo servidor pode bloquear a função mail() ou ter outro IP sem reputação. Reconfigure o SMTP apontando para o provedor de email e atualize SPF/DKIM para incluir o novo serviço de envio.














