Email Spam Tester

HomeBlogEmails WordPress no spam? Formulários, avisos, WooCommerce

Emails WordPress no spam? Formulários, avisos, WooCommerce

Porque é que os emails do WordPress vão para o spam ou não chegam, e como corrigir formulários, reposições de palavras-passe e encomendas WooCommerce.

Nesta páginaComo o WordPress envia email por defeito
  1. Como o WordPress envia email por defeito
  2. Envie através de um serviço de email real
  3. O endereço From nos formulários de contacto
  4. Emails do WooCommerce
  5. O lado do DNS, em termos simples
  6. Testar os emails reais, não uma mensagem de teste
  7. Quando continua a ir para o spam

Um site WordPress envia mais emails do que o proprietário imagina. A notificação do formulário de contacto. A reposição da palavra-passe. A mensagem de boas-vindas a um novo utilizador, o alerta de moderação de comentários e, numa loja, todas as confirmações de encomenda, faturas e atualizações de envio do WooCommerce. A maioria destas mensagens não foi concebida por ninguém, e ninguém as verifica até um cliente escrever a dizer que o email da encomenda nunca chegou.

Quando uma destas mensagens chega ao spam, verifique como sai do servidor antes de alterar o texto. No WordPress, esta parte usa, por predefinição, a opção com pior capacidade de entrega.

Como o WordPress envia email por defeito

O próprio WordPress e quase todos os plugins que enviam email, incluindo o WooCommerce e os plugins de formulários, usam uma única função, wp_mail(). Esta entrega a mensagem ao PHPMailer, que, por defeito, a passa para a função mail() do PHP. Esta, por sua vez, entrega-a ao programa de email disponível no servidor de alojamento. Não existe autenticação num fornecedor de email, nenhuma assinatura e nada no seu DNS que indique que este servidor pode enviar mensagens em nome do seu domínio.

O endereço de remetente escolhido é wordpress@ seguido do domínio do seu site (o WordPress remove um www. inicial). Se nunca o alterou, é isso que os seus clientes veem no campo From e, em muitos sites, ninguém chegou sequer a criar essa caixa de correio.

Num alojamento partilhado, a mensagem sai do servidor do fornecedor através de um endereço IP partilhado por muitos outros sites. Se um deles enviar mensagens para uma lista comprada, ou for atacado e começar a enviar spam em massa, o endereço ganha uma má reputação e as suas mensagens de reposição de palavra-passe saem do mesmo endereço que as deles.

Assim, uma instalação predefinida do WordPress envia email cujo SPF não está alinhado com o seu domínio. O endereço de devolução costuma permanecer associado ao nome do servidor do fornecedor de alojamento e, se o seu endereço for usado nesse campo, o SPF falha por completo. Também não existe uma assinatura DKIM para o seu domínio, pelo que o DMARC falha. O Gmail e o Yahoo definiram as respetivas regras para remetentes em fevereiro de 2024. A Microsoft fez o mesmo em maio de 2025 para domínios que enviam mais de 5.000 mensagens por dia para o Outlook.com. Desde novembro de 2025, o Gmail tem rejeitado uma maior parte das mensagens que violam as suas regras, em vez de as colocar no spam.

Envie através de um serviço de email real

A correção mais importante é deixar de usar mail(). Instale um plugin de SMTP (WP Mail SMTP, FluentSMTP e Post SMTP são os mais comuns, e cada um tem uma versão gratuita) e ligue-o a um serviço que envie emails corretamente: o seu próprio fornecedor de caixas de correio, como o Google Workspace ou o Microsoft 365, ou um serviço transacional como Amazon SES, Brevo, SendGrid ou Mailgun.

O plugin substitui o transporte usado por wp_mail(), por isso todos os emails de todos os plugins passam a ser enviados pelo novo método, sem alterar os próprios plugins. Use a opção de API do fornecedor quando o plugin a disponibilizar, em vez de SMTP simples com uma palavra-passe. O WP Mail SMTP indica que o método por API funciona mesmo quando o seu alojamento bloqueia as portas SMTP.

Muitas pessoas ignoram a parte seguinte. Autentique o domínio nesse fornecedor: cada um fornece registos DNS para publicar, normalmente dois ou três registos CNAME para DKIM e uma inclusão no SPF ou um domínio de Return-Path personalizado. Enquanto esses registos não estiverem no seu DNS, o fornecedor usa o próprio nome na assinatura, e o DMARC falha aí tal como falhava no alojamento.

O endereço From nos formulários de contacto

Os plugins de formulários, incluindo Contact Form 7 e WPForms, permitem escolher o que aparece na linha From da notificação que você recebe. Muitas configurações colocam aí o endereço do visitante, para que, ao selecionar Reply, a resposta seja enviada ao visitante. Parece uma solução inteligente, mas é exatamente isso que o DMARC foi criado para impedir.

Imagine que uma visitante chamada Anna escreve a partir de anna@yahoo.com. O seu site envia agora uma mensagem que afirma vir de yahoo.com através de um servidor que o Yahoo nunca autorizou. yahoo.com publica uma política DMARC com p=reject, pelo que um destinatário que a respeite recusa a notificação por considerá-la falsificada. Com uma visitante do Gmail, a política é menos rigorosa e a mensagem acaba mais frequentemente no spam. O WPForms alerta precisamente para isto na respetiva documentação.From é você, Reply-To é o visitante

Em vez disso, configure desta forma:

  • From: um endereço no seu próprio domínio, como forms@yourdomain.com, no mesmo domínio para o qual o seu plugin SMTP está autenticado.
  • Reply-To: o endereço do visitante, obtido a partir do campo do formulário. Ao selecionar Reply, a resposta continua a ser enviada para Anna.
  • To: a caixa de correio que você consulta.

No Contact Form 7, isto encontra-se no separador Mail: introduza o seu próprio endereço em From e adicione Reply-To: [your-email] em Additional headers. Os outros plugins de formulários têm um campo Reply-To nas definições de notificação.

Emails do WooCommerce

O WooCommerce tem as suas próprias definições de remetente: WooCommerce, depois Settings, depois Emails, na secção Email Sender Options, com um nome em "From" e um endereço em "From". Por predefinição, o endereço é o email de administração do site. Se a pessoa que instalou a loja utilizou um endereço Gmail para esse efeito, todas as confirmações de encomenda são enviadas como se viessem de gmail.com e falham o DMARC pelo mesmo motivo que o formulário de contacto acima. Introduza aí um endereço do seu domínio autenticado; o nome da loja é uma boa escolha para o nome do remetente. (Nas notificações de encomendas enviadas para si, o WooCommerce já coloca o cliente em Reply-To, que é a configuração correta.)

Há dois problemas com os emails de lojas que não acontecem com um formulário de contacto.

O primeiro é o volume. Se uma promoção ou um plugin de newsletters enviar emails para clientes pela mesma via que as confirmações de encomenda, o correio de marketing e o transacional ficam associados à mesma reputação. Se a newsletter gerar queixas, os recibos são afetados. Enviar os dois tipos através de serviços diferentes mantém-nos separados, e utilizar um subdomínio distinto para marketing ajuda um pouco, embora os destinatários continuem a dar algum peso à reputação do domínio principal.

O segundo é a questão do cancelamento da subscrição. As confirmações de encomenda e as reposições de palavra-passe são transacionais, pelo que a regra de cancelamento da subscrição com um clique do Gmail e do Yahoo não se aplica. Um pedido de avaliação, um lembrete de carrinho abandonado ou um email do tipo "também poderá gostar" enviado a clientes anteriores é marketing. Se enviar estes emails em grande volume, a regra aplica-se por completo, o que exige um cabeçalho List-Unsubscribe com uma opção de cancelamento da subscrição com um clique. Verifique se a extensão que os envia adiciona esse cabeçalho; o teste abaixo mostra-o em qualquer dos casos.

O lado do DNS, em termos simples

Independentemente do serviço usado para o envio, o seu domínio precisa de três elementos no DNS para que o email seja considerado fidedigno. Encontra uma explicação completa em SPF, DKIM e DMARC explicados; aqui está o que isso significa para um site WordPress.

  • SPF. Um registo TXT no seu domínio que indica quem pode enviar em nome dele. Muitos serviços de envio não exigem alterações aqui, porque fazem o alinhamento através do respetivo domínio de devolução. Se o seu serviço pedir um include: e o domínio já tiver um registo para o seu fornecedor de caixa de correio, adicione-o a esse registo. Não crie um segundo registo; dois registos SPF constituem um erro e ambos deixam de funcionar. Verifique o resultado com o verificador de SPF.
  • DKIM. Os registos fornecidos pelo seu serviço de envio. Quando estiverem ativos, o serviço assina todas as mensagens com o seu domínio, e é esta a assinatura que o DMARC procura.
  • DMARC. Um registo TXT em _dmarc.yourdomain.com. Comece com v=DMARC1; p=none; rua=mailto: e um endereço que consulte, depois torne a política mais restritiva quando os relatórios mostrarem que nenhuma das suas mensagens está a falhar. O verificador de DMARC lê a configuração existente.

Tenha em conta que o servidor de alojamento pode continuar a enviar algo diretamente, como uma tarefa cron ou um plugin antigo que chama mail() em vez de wp_mail(). Essas mensagens não passam pelo plugin SMTP, e os relatórios DMARC irão apresentá-las como uma origem inesperada.

Testar os emails reais, não uma mensagem de teste

Todos os plugins SMTP têm um botão "send test email", que apenas comprova que a ligação funciona. Não mostra a confirmação da encomenda tal como o WooCommerce a cria, a notificação do formulário com o respetivo Reply-To, nem a reposição da palavra-passe com a ligação que o WordPress inclui.

Por isso, faço com que o WordPress envie os emails reais. Um endereço de teste da página inicial recebe uma mensagem, por isso obtenha um novo endereço para cada email que pretende verificar. Para o formulário, defina temporariamente o endereço como destinatário da notificação e envie o formulário. Para o WooCommerce, faça uma encomenda de teste usando o endereço como email do cliente. Para a reposição da palavra-passe, atribua o endereço a um utilizador de teste e peça uma reposição. Cada mensagem recebe o seu próprio relatório, com SPF, DKIM e DMARC e o respetivo alinhamento, 21 listas de bloqueio, conteúdo e ligações, e as regras para remetentes em massa. Para saber em que pasta a mensagem chega no Gmail, Outlook, Yahoo e noutros fornecedores, é necessário enviar a mesma mensagem para uma lista de caixas de entrada, com um marcador no assunto. Como um formulário ou uma encomenda de uma loja não consegue fazer isso, deixe essa parte para os emails que você próprio envia.

Se preferir não criar encomendas de teste manualmente, o plugin para WordPress gratuito envia estas mensagens através do wp_mail() do seu próprio site, o mesmo percurso seguido pelos emails dos seus clientes, e mostra o resultado no painel. Também deteta quando o site começa a enviar um tipo de email que ainda não tinha visto.

Quando continua a ir para o spam

Se a autenticação passar, o endereço From pertencer ao seu domínio e o email continuar a ir para o spam, verifique a reputação do serviço através do qual envia. Um IP de alojamento partilhado numa lista de bloqueio é uma causa comum quando ainda utiliza mail(), e o verificador de listas de bloqueio irá mostrar isso. O conteúdo tem menos influência do que geralmente se pensa. Uma notificação de formulário com uma única ligação e três linhas de texto raramente aciona um filtro por si só, mas um email do WooCommerce com um modelo HTML pesado, uma imagem grande e um encurtador de ligações pode fazê-lo.

Verifique uma mensagem, corrija o que o relatório indicar e volte a enviá-la para um novo endereço.

Mais artigos do blog

Envie primeiro o email real para um endereço de teste

42 verificações de SPF, DKIM, DMARC, listas de bloqueio, cabeçalhos de anulação de subscrição e conteúdo, além da pasta em que chega no Gmail, Outlook, Yahoo e noutros fornecedores. Grátis, sem registo.

Obter um endereço de teste