Skip to content

Tudo para WordPress, desenvolvimento web — e não só

📧 Como instalar e configurar SMTP no WordPress: um guia passo a passo

📧 Como instalar e configurar SMTP no WordPress: um guia passo a passo

Os emails do seu site não chegam aos utilizadores? Os destinatários queixam-se de que as notificações de encomendas ou as reposições de palavra-passe vão parar ao spam? Quase todos os proprietários de sites WordPress enfrentam este problema nos primeiros meses após o lançamento.

A razão é o método padrão de envio de emails. O WordPress utiliza a função mail() incorporada do PHP e a maioria dos fornecedores de alojamento não a configura corretamente. Os emails saem com cabeçalhos incorretos, sem assinaturas DKIM, e serviços de email como o Gmail ou o Mail.ru enviam-nos diretamente para a pasta de «Spam». Pior ainda, alguns emails simplesmente perdem-se e nem sequer saberá que isso aconteceu.

A solução adequada é o SMTP. Configura-se uma vez e os emails do seu site começam a chegar de forma fiável. Vou mostrar-lhe dois métodos: o simples (usando um plugin) e o manual (usando código), para que possa escolher com base na sua situação.

💡 Visão geral rápida:

  • Vai perceber porque é que o PHP mail do WordPress não é fiável e como o SMTP resolve o problema de entregabilidade
  • Vai configurar o envio através do plugin Easy WP SMTP em 5 minutos, sem editar código
  • Vai dominar o método manual através do wp-config.php para quem prefere evitar plugins extra
  • Vai testar o SMTP com um email de teste e aprender o que procurar ao escolher um fornecedor de email

O que é o SMTP e porque é que o seu site perde emails

SMTP significa Simple Mail Transfer Protocol. Dito de forma simples, é um protocolo dedicado ao envio de email que funciona de forma diferente do PHP mail().

Quando o WordPress envia um email através da função padrão, simplesmente «despeja-o» no sistema operativo do servidor. A partir daí, é uma questão de sorte: o email pode sair de um alojamento sem um registo SPF, sem DKIM, com um endereço From de outra pessoa. O serviço de email do destinatário vê um email suspeito e envia-o para spam. Ou simplesmente descarta-o e não recebe qualquer notificação de erro.

Um servidor SMTP, por outro lado, estabelece uma ligação direta com o serviço de email do destinatário. Autentica-se, transmite a assinatura DKIM do seu domínio e garante que os cabeçalhos do email estão corretos. O resultado: os seus emails aterram na «Caixa de entrada», não no spam.

Um benefício adicional é o registo. A maioria dos plugins SMTP para WordPress mantém um registo dos emails enviados: pode ver o que foi enviado, para quem e quando. Se um email não foi entregue, sabe disso imediatamente, não uma semana depois através de um cliente.

Método 1: Configurar SMTP através do plugin Easy WP SMTP

O método mais simples e fiável para a grande maioria dos sites é instalar um plugin. Recomendo o Easy WP SMTP: mais de meio milhão de instalações ativas no WordPress.org, uma classificação de 4,6 em 5 e atualizações estáveis. O plugin é gratuito e suporta não só qualquer servidor SMTP externo, mas também integrações diretas com Gmail, Outlook, Brevo, SendGrid, Mailgun e SendLayer, permitindo a ligação via API sem introduzir portas e definições de encriptação.

Pesquisar e instalar o plugin Easy WP SMTP no admin do WordPress

Passo 1. Instalar o plugin. Aceda à administração do WordPress: Plugins → Adicionar novo. Na barra de pesquisa, escreva «Easy WP SMTP». Clique em «Instalar» e depois em «Ativar».

Passo 2. Ir para as definições. Um novo item de menu Easy WP SMTP aparecerá na barra lateral de administração. Abra-o e aterrará no separador «Geral».

Passo 3. Preencher os detalhes do servidor SMTP. Aqui está o que precisa de introduzir:

Configurações do remetente e do servidor de correio no plugin Easy WP SMTP
  • From Email Address: o endereço a partir do qual os emails serão enviados. Use o mesmo email especificado nas suas definições do WordPress (em Definições → Geral). A maioria dos alojamentos bloqueia o envio de endereços externos, por isso é mais seguro não arriscar.

  • From Name: o nome do remetente que os destinatários verão. Normalmente é o nome do seu site, por exemplo «Suporte NomeDoSite».

  • Mailer: escolha «Other SMTP» se estiver a ligar uma conta de email do seu próprio domínio ou alojamento. Se estiver a usar Gmail / Outlook / Brevo / SendGrid, selecione a opção correspondente e o plugin guiá-lo-á através da autorização OAuth sem introdução manual de parâmetros.

Parâmetros de anfitrião SMTP, encriptação e porta no Easy WP SMTP

Para a opção «Other SMTP», preencha:

  • SMTP Host: o endereço do seu servidor de email. Para alojamento, normalmente é mail.your-domain.com. Para serviços de terceiros, o fornecedor fornece o host quando cria a caixa de correio.

  • Encryption: escolha SSL (porta 465) ou TLS (porta 587). Os servidores modernos preferem TLS na porta 587, mas verifique com o seu fornecedor de email.

  • SMTP Port: 465 para SSL, 587 para TLS. Estes são valores padrão, mas o seu alojamento pode usar uma porta não padrão, por isso verifique a documentação deles.

  • Authentication: ative o interruptor «Yes». Sem autenticação, o SMTP não funcionará.

  • SMTP Username e SMTP Password: o nome de utilizador e a palavra-passe da sua caixa de correio. Normalmente, o nome de utilizador corresponde ao endereço de email completo.

Passo 4. Enviar um email de teste. Desça a página até à secção «Test Email». No campo «Send To», introduza um endereço ao qual tenha acesso (o seu próprio funciona). Preencha os campos «Subject» e «Message» com qualquer coisa, por exemplo «Teste SMTP» e «Verificação de envio». Clique em «Send Test Email».

Se tudo estiver configurado corretamente, uma notificação verde de sucesso aparecerá no topo do ecrã. O email chegará ao endereço especificado em poucos segundos. Se não chegar, verifique a sua pasta de «Spam»; se também não estiver lá, verifique novamente as definições de host, porta e palavra-passe.

Passo 5. Ativar o registo. No submenu Easy WP SMTP, abra o separador «Email Log» e ative o registo de emails. Agora, cada email enviado será guardado no registo com data, destinatário e estado. Se um mês depois um cliente disser «Nunca recebi o email com o código», pode abrir o registo e ver: o email foi enviado e entregue, o problema está do lado do cliente.

Método 2: Configuração manual de SMTP através do wp-config.php

Este método é para quem fundamentalmente não quer instalar um plugin para uma única função. A desvantagem é óbvia: sem interface, sem registo e sem testes a partir do painel de administração. Todas as alterações são feitas apenas editando ficheiros.

Importante: antes de editar o wp-config.php, certifique-se de que faz uma cópia de segurança do seu site. Um erro neste ficheiro causará o «ecrã branco da morte» e só conseguirá restaurar o acesso através de FTP ou do gestor de ficheiros do seu alojamento.

Passo 1: Adicionar constantes SMTP ao wp-config.php

Ligue-se ao seu servidor via FTP ou através do gestor de ficheiros do seu alojamento. Encontre o ficheiro wp-config.php na raiz do site e adicione o seguinte código ANTES da linha /* That's all, stop editing! Happy publishing. */:

1// SMTP configuration for sending WordPress mail
2define( 'SMTP_HOST', 'mail.your-domain.com' ); // SMTP server address
3define( 'SMTP_AUTH', true ); // Enable authentication
4define( 'SMTP_PORT', '587' ); // Port: 587 (TLS) or 465 (SSL)
5define( 'SMTP_SECURE', 'tls' ); // Encryption: tls or ssl
6define( 'SMTP_USERNAME', '[email protected]' ); // Mailbox login
7define( 'SMTP_PASSWORD', 'your-password' ); // Password
8define( 'SMTP_FROM', '[email protected]' ); // Sender address
9define( 'SMTP_FROMNAME', 'SiteName Support' ); // Sender name

Substitua os dados pelos seus: host, porta, nome de utilizador, palavra-passe. Se o seu fornecedor de email usar SSL na porta 465, altere SMTP_PORT para '465' e SMTP_SECURE para 'ssl'.

Passo 2: Ligar as constantes ao PHPMailer

As constantes no wp-config.php não fazem nada por si só: o WordPress não sabe o que fazer com elas. Precisa de as passar para o objeto PHPMailer através do hook phpmailer_init. Adicione este código ao ficheiro functions.php do seu tema filho ou através do plugin Code Snippets (recomendado, pois não se perderá quando o tema for atualizado):

1/**
2 * SMTP configuration via constants from wp-config.php
3 */
4add_action( 'phpmailer_init', 'sdstudio_smtp_configure' );
5function sdstudio_smtp_configure( $phpmailer ) {
6 $phpmailer->isSMTP();
7 $phpmailer->Host = SMTP_HOST;
8 $phpmailer->SMTPAuth = SMTP_AUTH;
9 $phpmailer->Port = SMTP_PORT;
10 $phpmailer->SMTPSecure = SMTP_SECURE;
11 $phpmailer->Username = SMTP_USERNAME;
12 $phpmailer->Password = SMTP_PASSWORD;
13 $phpmailer->From = SMTP_FROM;
14 $phpmailer->FromName = SMTP_FROMNAME;
15}

Aqui está o que acontece: o WordPress chama o hook phpmailer_init antes de cada email ser enviado e passa-lhe uma instância da classe PHPMailer. A função sdstudio_smtp_configure configura este objeto com os valores das constantes e o email é enviado via SMTP em vez do PHP mail().

Se estiver a usar uma caixa de correio no seu próprio domínio (por exemplo [email protected], criada no cPanel do seu alojamento), obtenha os detalhes do host SMTP no painel de controlo do seu alojamento. Normalmente, há uma secção chamada «Ligações de Correio» ou «Contas de Email», onde o host, a porta e as definições de encriptação são especificados para cada caixa de correio.

Passo 3: Testar o envio

A forma mais simples de testar é acionar um email de sistema do WordPress. Por exemplo, solicite uma reposição de palavra-passe através do formulário de login (/wp-login.php → «Perdeu a sua palavra-passe?»). Se o email chegar, o SMTP está a funcionar.

Para um teste mais preciso, adicione temporariamente este código ao functions.php (remova-o após o teste):

1add_action( 'init', function() {
2 wp_mail( '[email protected]', 'SMTP Test', 'Message sent via SMTP!' );
3} );

Atualize qualquer página do seu site e um email de teste será enviado para o seu endereço. Não se esqueça de remover o código após o teste, caso contrário, será enviado um email sempre que uma página for carregada.

Método 3: Plugins SMTP alternativos

O Easy WP SMTP não é a única opção. Se, por algum motivo, não lhe serviu, aqui estão mais três plugins gratuitos comprovados, com instalações ativas em mais de 200.000 sites:

  • WP Mail SMTP: o plugin SMTP mais popular no repositório do WordPress (mais de 3 milhões de instalações). A versão gratuita liga qualquer servidor SMTP. A versão paga adiciona integrações com SendLayer, Amazon SES, Microsoft 365 e Zoho Mail, bem como registos detalhados e relatórios de erros.

  • Post SMTP: completamente gratuito, com código aberto. Pode enviar emails através de SMTP, Gmail API, Microsoft 365 API, SendGrid, Mailgun, Brevo. Inclui um Registo de Email integrado com filtragem e capacidade de reenvio. Uma boa escolha se precisar do máximo de funcionalidades sem pagar.

  • FluentSMTP: um plugin minimalista e rápido dos criadores do FluentCRM. Suporta Amazon SES, Mailgun, SendGrid, SparkPost, Elastic Email e qualquer servidor SMTP. A interface é mais simples do que a dos concorrentes e o plugin praticamente não tem impacto no desempenho do painel de administração.

Todas as três opções têm uma classificação de 4,5+ e são atualizadas regularmente. O princípio de configuração é o mesmo em todas: instalar o plugin → introduzir os detalhes do servidor de email → enviar um email de teste → ativar o registo.

Ao contrário do método manual através do wp-config.php, qualquer um destes plugins fornece, pelo menos, um registo dos emails enviados e a capacidade de testar a ligação a partir do painel de administração. Para um site que envia mais do que alguns emails por semana, estas funcionalidades tornam-se rapidamente uma necessidade e não apenas uma conveniência.

Testar o SMTP: como garantir que tudo funciona

Configurou o plugin ou o código, agora verifique o resultado. Aqui está uma lista de verificação de três pontos que cobre todos os problemas possíveis:

1. Email de teste do plugin. Se usou o Easy WP SMTP, envie um teste através da função incorporada (o separador «Test Email»). O email foi enviado e chegou à «Caixa de entrada»: excelente. Chegou ao «Spam»: verifique se o «From Email Address» especifica um endereço real no seu domínio (não @gmail.com se o seu site estiver em your-domain.com).

2. Verificar os cabeçalhos do email. Abra o email de teste recebido e veja o «original» / «código fonte» da mensagem (no Gmail: três pontos → «Mostrar original»). Encontre as linhas SPF, DKIM e DMARC. Pelo menos SPF: PASS deve estar presente. Se as três mostrarem PASS, a sua entregabilidade está no máximo.

3. Verificar através de um formulário no seu site. Percorra um cenário de utilizador: preencha um formulário de contacto, solicite uma reposição de palavra-passe, faça uma encomenda de teste no WooCommerce. Cada uma destas ações deve gerar um email: certifique-se de que todos chegam. Se algum email não foi enviado, o plugin específico (Formulários / WooCommerce) provavelmente está a usar o seu próprio método de envio que ignora o SMTP geral. Isto é raro, mas verifique as definições desse plugin; normalmente, há uma opção «Usar o email do WordPress» ou uma escolha de fornecedor de email.

Se preferir o formato de vídeo, este tutorial mostra a configuração completa do SMTP através do plugin WP Mail SMTP do zero ao primeiro email enviado. O princípio é o mesmo para qualquer um dos plugins analisados.

⁉️🤔 Perguntas frequentes

Porque é que os emails do meu site são enviados, mas chegam ao spam?

A principal razão é a falta de registos DKIM e SPF para o domínio. A função PHP mail() não assina os emails e os serviços de email veem um envio «anónimo». Um plugin SMTP envia emails em nome do seu servidor de email, que já tem estes registos configurados. A maioria dos alojamentos adiciona um registo SPF básico automaticamente através do cPanel; o DKIM e o DMARC são configurados manualmente no painel DNS em 10 minutos.

Que porta SMTP devo escolher: 465 ou 587?

A porta 587 com encriptação TLS é o padrão moderno da IETF. A porta 465 com SSL está obsoleta, mas é amplamente suportada. Se o seu fornecedor aceitar ambas, escolha 587/TLS. Se não funcionar, experimente 465/SSL. Na prática, a maioria dos alojamentos partilhados em 2026 funciona com ambas as portas; os VPS exigem mais frequentemente 587/TLS. Se obtiver um erro de ligação após a configuração, a primeira coisa a tentar é mudar a porta e a encriptação.

Posso usar o Gmail gratuito para enviar emails do meu site?

Sim, mas com uma limitação: 500 emails por dia para contas pessoais e até 2.000 para o Google Workspace. Para lojas e sites de membros, os serviços transacionais são mais fiáveis: Brevo (300 emails/dia grátis), SendGrid (100/dia), Mailgun ou Amazon SES. A forma mais fácil de ligar o Gmail é através do Easy WP SMTP: selecione o mailer «Gmail» e complete a autorização OAuth em alguns cliques.

Preciso de um plugin SMTP se o meu alojamento já tiver o email configurado?

O servidor de email do alojamento e o envio a partir do WordPress são duas ligações diferentes. O alojamento recebe email para o domínio, mas o WordPress continua a enviar através do PHP mail() sem autenticação. O resultado é o mesmo: spam ou emails perdidos. Um plugin SMTP faz com que o WordPress use o servidor de email corretamente. Um teste simples: abra o «original» de um email do seu site e encontre X-Mailer. Se mostrar PHPMailer sem SMTP, precisa de um plugin.

O plugin mostra o erro «SMTP Error: Could not authenticate», o que devo fazer?

Três causas comuns. Primeira: a palavra-passe contém caracteres especiais (cardinal, cifrão, E comercial) que o plugin escapa incorretamente: mude para alfanumérico. Segunda: o host requer uma porta diferente: alterne 587↔465 e TLS↔SSL. Terceira: o fornecedor bloqueia o tráfego SMTP de saída no plano partilhado: verifique com o suporte. Se nada ajudar, mude para a integração API: por exemplo, a API do Gmail através de OAuth é mais fiável do que a autenticação por palavra-passe.

Que método de configuração SMTP escolher para o seu site

A resposta depende de três fatores: volume de email, nível de conforto técnico e orçamento.

Se o seu site envia até 100 emails por dia, instale o Easy WP SMTP, ligue qualquer caixa de correio e resolva o assunto em 5 minutos. O plano gratuito do Brevo através da integração API deste mesmo plugin dá-lhe 300 emails por dia sem qualquer configuração de porta SMTP: basta registar-se, obter uma chave API, colá-la no plugin e está pronto.

Se o seu site é uma loja WooCommerce com mais de 500 encomendas por mês, ligue um serviço transacional: Mailgun, SendGrid ou Amazon SES. Eles são projetados para envio massivo de emails transacionais e fornecem análises detalhadas para cada email (entregue / aberto / clicado). O Easy WP SMTP suporta os três através de API, sem complicações com portas.

Se é um programador e não quer plugins extra, o método manual através do wp-config.php funciona, mas lembre-se: sem registo, está às cegas. Adicione pelo menos um ficheiro de registo simples através do hook wp_mail_failed ou instale o FluentSMTP, que é praticamente leve e fornece um registo completo de emails.

O principal é não deixar o WordPress no PHP mail padrão. Cinco minutos para instalar um plugin SMTP poupá-lo-ão de encomendas perdidas, pedidos de suporte não atendidos e problemas de reputação com um domínio que os serviços de email sinalizaram como fonte de spam.