"Os emails do formulário não estão a chegar" é um dos pedidos de suporte mais frequentes de clientes WordPress. E por boa razão — o WordPress por defeito usa a função PHP mail() para enviar emails, que é bloqueada ou marcada como spam pela maioria dos servidores e filtros de email modernos. A solução é simples, mas requer configuração activa.
Por que o WordPress por defeito falha no envio de emails
O WordPress usa wp_mail(), que por defeito chama a função PHP mail(). Esta função envia emails directamente do servidor sem autenticação adequada. Os problemas resultantes:
- O servidor de hosting pode ter o envio de emails por
mail()desactivado para prevenir spam - Sem registos SPF, DKIM ou DMARC configurados para o domínio do servidor, os emails são marcados como suspeitos
- O IP do servidor de hosting pode estar em listas negras de spam
- O endereço "From" frequentemente não corresponde ao domínio do servidor, causando rejeições
O resultado é emails que não chegam, vão para spam, ou falham silenciosamente sem qualquer notificação ao administrador do site.
A solução: SMTP com serviço de email transacional
Em vez de usar a função mail() do servidor, configurar o WordPress para enviar emails via SMTP autenticado num serviço de email transacional dedicado. Estes serviços têm:
- IPs com boa reputação de entrega
- SPF, DKIM e DMARC configurados automaticamente
- Logs de envio e relatórios de entrega
- Alertas quando emails falham
Serviços de email transacional recomendados
Brevo (anteriormente Sendinblue) — gratuito até 300 emails/dia
O melhor custo-benefício para sites de clientes com volume baixo a médio. Plano gratuito inclui 300 emails/dia, logs de 30 dias, e SMTP com autenticação. Para a maioria dos sites informativos ou lojas pequenas, é suficiente.
Postmark — foco em entrega transacional
Especializado em emails transacionais com taxas de entrega excelentes. Logs detalhados, alertas de bounce, e suporte a templates. A partir de 15$/mês para 10.000 emails. Recomendado para lojas WooCommerce com volume de encomendas.
Mailgun — por volume
Preço baseado em volume (primeiros 100 emails/dia gratuitos no plano de teste). API robusta, ideal para envolvimentos com desenvolvimento custom. Pode ser mais complexo de configurar que Brevo ou Postmark.
SMTP do próprio hosting
Muitos hostings incluem SMTP autenticado. Menos robusto que serviços dedicados, mas funciona para volumes baixos. Verificar se o hosting fornece credenciais SMTP e qual o limite de envio.
Configurar SMTP com WP Mail SMTP
O WP Mail SMTP é o plugin com mais instalações activas para configuração de SMTP em WordPress. Funciona com todos os serviços mencionados.
Instalação e configuração
- Instalar e activar o plugin WP Mail SMTP
- Em WP Mail SMTP > Configurações, seleccionar o mailer (Brevo, Postmark, Mailgun, ou SMTP genérico)
- Inserir as credenciais do serviço escolhido (chave API ou credenciais SMTP)
- Configurar o "From Email" (endereço de envio) e "From Name"
- Usar a ferramenta "Test Email" para verificar que o envio funciona
Configuração via wp-config.php (alternativa)
Para agências que preferem não deixar credenciais no painel WordPress, as configurações SMTP podem ser definidas em wp-config.php com constantes que o plugin WP Mail SMTP lê automaticamente:
define('WPMS_ON', true);
define('WPMS_MAILER', 'smtp');
define('WPMS_SMTP_HOST', 'smtp.brevo.com');
define('WPMS_SMTP_PORT', 587);
define('WPMS_SSL', 'tls');
define('WPMS_SMTP_AUTH', true);
define('WPMS_SMTP_USER', 'username');
define('WPMS_SMTP_PASS', 'password');
Verificações após configuração
- Testar envio do formulário de contacto e verificar chegada na caixa de entrada (não spam)
- Para WooCommerce: fazer encomenda de teste e verificar emails de confirmação
- Verificar que o email "From" usa o domínio do site (não @hosting.pt)
- Verificar nos logs do serviço SMTP que os emails têm status "delivered"
Sites dos seus clientes com problemas de email?
O nosso serviço de manutenção WordPress inclui configuração e verificação de email transacional em todos os sites sob gestão.
Resolver problemas de email WordPress