Como usar o SMTP para enviar e-mails do WordPress
Publicados: 2023-04-11O WordPress tem uma forma nativa de enviar e-mails. Ele usa a função mail() do PHP para entregar todos os boletins informativos, redefinições de senha ou qualquer outro tipo de e-mail que você está enviando para o seu público. Embora esse método deva teoricamente ser suficiente, está longe de ser perfeito.
No WordPress, enviar e-mails com SMTP é uma alternativa muito melhor. E não é difícil de configurar. O tutorial de hoje mostrará como fazer isso com e sem plugins.
O que é SMTP?
SMTP ou Simple Mail Transfer Protocol define as regras para transmissão de e-mail. Permite a troca de e-mails entre diferentes tipos de computadores, servidores e redes.
Um servidor SMTP é um aplicativo que funciona de acordo com o protocolo SMTP e envia e-mails do remetente ao destinatário. Para simplificar este processo, o servidor SMTP recebe e-mails do cliente de e-mail (Gmail, Yahoo!, Outlook, etc.) e os transfere para outros servidores SMTP, se necessário. Em seguida, os e-mails são coletados pelo servidor SMTP dos destinatários e entregues usando servidores de e-mail de entrada (POP3 ou IMAP).
Por que é uma boa ideia usar SMTP para enviar e-mails no WordPress?
Como mencionamos no início, o WordPress usa a função PHP mail() para enviar e-mails. Este método é problemático por vários motivos:
- É mais adequado para e-mails de texto simples e sem formatação. Os recursos de HTML são bastante limitados e você não pode adicionar anexos ou incorporar imagens. Isso deixa você com e-mails chatos e pouco ou nenhum elemento de design;
- Tem problemas significativos de capacidade de entrega. PHP mail () não possui cabeçalhos de e-mail adequados. Como resultado, os provedores de serviços de Internet (ISPs) marcam os e-mails enviados com esse método como spam ou os rejeitam completamente. Portanto, se você, por exemplo, envia automaticamente novos posts por e-mail para seus assinantes usando PHP mail(), é provável que você frequente pastas de spam;
- Não permite o envio de e-mails através de servidores externos. Mesmo se você definir as configurações de SMTP, ele só poderá ser usado com localhost ou uma solução semelhante. PHP mail() também não suporta autenticação SMTP.
A solução mais fácil é configurar o WordPress para enviar e-mails com um servidor SMTP. O último requer autenticação de cabeçalho e oferece suporte à transmissão segura por meio de SSL e TLS. Isso significa que você terá menos chances de encontrar problemas de capacidade de entrega de e-mail, principalmente se usar um serviço SMTP confiável e configurar tudo corretamente.
Nessa nota, vamos descobrir como enviar e-mails no WordPress com um servidor SMTP.
Configurando o SMTP no WordPress sem Plugins
Você pode configurar o SMTP no WordPress sem plugins com um pouco de codificação e PHPMailer. É uma biblioteca criada para PHP para superar as deficiências da função mail(). O PHPMailer oferece suporte a corpos de e-mail complexos (incluindo HTML e imagens incorporadas) e anexos. Acima de tudo, permite enviar e-mails com qualquer servidor SMTP.
Para que o PHPMailer funcione, precisamos de um servidor SMTP funcional. No exemplo de código abaixo, usaremos Gmail SMTP para enviar e-mails no WordPress. Mas antes de começarmos, você deve criar uma senha de aplicativo com estas instruções. Caso contrário, você não conseguirá autenticar com sucesso.
Agora, navegue até o diretório raiz do seu site e localize o arquivowp-config.php. Use o exemplo de código a seguir para definir as configurações de SMTP do WordPress usando as credenciais do Gmail.
define( 'SMTP_username', '[email protected]' ); define( 'SMTP_password', 'sua-senha-aplicativo-gmail' ); define( 'SMTP_server', 'smtp.gmail.com' ); define( 'SMTP_FROM', '[email protected]' ); define( 'SMTP_NAME', 'Seu nome' ); define( 'SMTP_PORT', '587' ); define( 'SMTP_SECURE', 'tls' ); define('SMTP_AUTH', verdadeiro); define('SMTP_DEBUG', 0);
Vá para o editor de temas e encontre o arquivofunctions.phppara outras edições. Observe que é recomendável fazer alterações no tema filho para evitar o mau funcionamento do tema principal. Adicione o seguinte script ao arquivofunctions.php.
add_action('phpmailer_init', 'my_phpmailer_smtp'); function meu_phpmailer_smtp($phpmailer) { $phpmailer->isSMTP(); $phpmailer->Host = SMTP_server; $phpmailer->SMTPAuth = SMTP_AUTH; $phpmailer->Port = SMTP_PORT; $phpmailer->Nome de usuário = SMTP_nome de usuário; $phpmailer->Senha = SMTP_senha; $phpmailer->SMTPSecure = SMTP_SECURE; $phpmailer->De = SMTP_FROM; $phpmailer->DoNome = SMTP_NAME; } Salve as configurações e pronto. Agora seu WordPress envia e-mails via servidor SMTP.
Para mais detalhes, veja como enviar e-mails no WordPress via função PHP.
Usando plugins para configurar WordPress SMTP
Uma maneira mais simples de configurar o WordPress para enviar e-mails via SMTP é por meio de plugins dedicados. Eles não exigem habilidades de codificação - você poderá configurá-los mesmo sem a ajuda dos desenvolvedores.
WP Mail SMTP
WP Mail SMTP é o plug-in mais popular para configurar o SMTP. Ele instrui o PHP mail() a usar um dos mailers integrados ou configurações SMTP personalizadas. Ao fazer isso, resolve os problemas de capacidade de entrega da função nativa.
Você pode instalar facilmente o WP Mail SMTP navegando até a guia 'Plugins' no painel do seu site WordPress e pressionando 'Adicionar novo'. Digite 'WP Mail SMTP' na caixa de pesquisa, pressione 'Instalar agora' e depois 'Ativar'.
Depois que o plug-in estiver instalado, você poderá configurar o mailer no painel ou usando o assistente de configuração. Ambos têm o mesmo conceito, apenas designs diferentes. Preferimos usar o painel, então configuraremos o plug-in com sua ajuda.
Temos duas opções principais:
- Configure WP Mail SMTP com serviços SMTP de terceiros
- Use um mailer embutido
O primeiro passo é o mesmo para ambas as opções, então vamos discuti-lo aqui. Abra as configurações SMTP do WP Mail e role para baixo até Do e-mail e Do nome na guia 'Conexão primária'.
No campo Do e-mail, digite o endereço de e-mail que será usado para enviar e-mails. Pode ser uma conta de e-mail gratuita, mas recomendamos um endereço com um domínio personalizado para melhor capacidade de entrega. Para garantir que o endereço inserido seja usado em todos os e-mails, marque a caixa Forçar do e-mail.
No campo Do nome, insira o nome que será exibido nos e-mails enviados. Mais uma vez, verifique Forçar do nome para garantir que outros plug-ins (por exemplo, WooCommerce ou plug-in de boletim informativo do WordPress) não substituam essa configuração.
Feito isso, podemos prosseguir para a configuração do mailer para instruir o WordPress a enviar e-mails com o plug-in.
Configurando o WP mail com serviços SMTP de terceiros
Usar um serviço SMTP confiável de terceiros é vital para garantir que seus e-mails do WordPress sejam entregues nas caixas de entrada dos destinatários. Com o recurso Other SMTP do WP Mail SMTP, você pode integrar facilmente seu mailer favorito. Para o tutorial de hoje, usaremos um serviço SMTP confiável fornecido pelo Mailtrap.
Mas antes de integrá-lo ao seu site WordPress, primeiro você precisa criar uma conta e seguir um assistente no aplicativo para verificar seu domínio. Para fazer isso, você deve ter acesso aos registros DNS do seu domínio. Neles, você terá que adicionar registros SPF, DKIM e DMARC prontos e, em seguida, pressionar Verificar domínio.
Depois que sua conta estiver funcionando, volte para 'Domínios de envio' e pressione no domínio verificado. Em seguida, clique em 'API e SMTP', escolha 'SMTP' e copie as credenciais.
Volte para WP Mail SMTP e escolha Other SMTP na guia Mailer.
Você verá um conjunto de campos vazios. Preencha-os usando as credenciais SMTP do Mailtrap:
- Host SMTP: live.smtp.mailtrap.io
- Criptografia: TLS (você também pode escolher SSL, mas TLS é recomendado)
- Porta SMTP: 587 (será preenchido automaticamente)
- Autenticação: ativar
- Nome de usuário SMTP: api
- Senha SMTP: sua senha SMTP
Pressione 'Salvar configurações'. Você verá uma janela de confirmação. Se tudo estiver configurado corretamente e o WordPress enviar e-mail SMTP, volte para sua conta Mailtrap e pressione 'Verificar configuração'.
Usando Mailer Embutido
Vamos passar para a segunda opção de integração – usando um mailer integrado para garantir que o WordPress use SMTP para enviar e-mails. Com este método, você pode selecionar um dos mailers do WP Mail SMTP, incluindo SendLayer, SMTP.com, Sendinblue, Amazon SES, etc. Este método também pode ser usado para configurar Gmail SMTP no WordPress ou até mesmo Microsoft 365/Outlook.
O processo de integração é semelhante para a maioria dos ESPs. Obviamente, você deve ter uma conta ativa para integrá-la ao WP Mail SMTP. Você só precisa escolher o mailer e inserir a chave API da sua conta. As instruções sobre isso estarão disponíveis na documentação oficial do ESP.
Com algumas malas diretas, pode ser necessário inserir seu domínio de envio, ID do fluxo de mensagens ou região. Instruções detalhadas para cada mala direta estão disponíveis aqui.
Plug-in do HubSpot para WordPress
WP Mail SMTP é usado principalmente para configurar o WordPress para enviar e-mails com SMTP. Pelo contrário, o HubSpot WordPress Plugin é um plug-in completo do Customer Relationship Manager (CRM) para o seu site WordPress. Com sua ajuda, você pode criar listas de e-mail com formulários de inscrição, comunicar-se com os visitantes com chat ao vivo e analisar métricas importantes.
Mais importante ainda, HubSpot WordPress Plugin permite que você integre seu ESP preferido para enviar e-mails de marketing (manual ou automaticamente) para seus contatos. Ele também possui modelos integrados e um editor de arrastar e soltar. Então, se você está procurando algo mais do que configuração SMTP, o HubSpot pode ser uma boa escolha para você.
Gmail SMTP
Gmail SMTP é outro plug-in do WordPress para enviar e-mails com SMTP, mas foi projetado especificamente para o Gmail. Ele depende do PHPMailer e da função nativa wp_mail para enviar e-mails, o que significa que você ainda pode usar todas as suas funcionalidades.
O plug-in SMTP do Gmail se conecta ao Gmail usando a API e o protocolo OAuth 2.0. Dessa forma, você não precisará inserir nenhum nome de usuário ou senha. No entanto, você precisará criar um aplicativo no Google Developer Console e configurar as credenciais OAuth. Felizmente, a página oficial do plugin lista as instruções necessárias.
Post SMTP Mailer
A última opção que temos aqui é Post SMTP Mailer. É um plug-in amigável que permite integrar o ESP usando SMTP ou API. A versão gratuita oferece suporte às APIs Mailgun, SendGrid, Mandrill (agora Mailchimp Transactional Email), SparkPost, Postmark, Sendinblue e Gmail. A versão Pro lhe dará acesso ao Zoho Mail, Amazon SES e Microsoft 365.
Além disso, Post SMTP Mailer armazena logs de e-mail e envia notificações do Chrome se ocorrer algum problema.
Como testar e-mails no WordPress?
Para garantir que sua configuração possa enviar e-mails do WordPress com sucesso, você precisará testar seus e-mails. A maioria dos plug-ins vem com o recurso de teste padrão para algumas inspeções básicas.
Com o WP Mail SMTP, por exemplo, você pode navegar até a guia 'Teste de e-mail', inserir seu endereço de e-mail e pressionar 'Enviar e-mail'. Se a configuração estiver correta, você deve encontrar um e-mail de teste em sua caixa de entrada. Caso contrário, o WP Mail SMTP mostrará um log de erro.
No entanto, testar a funcionalidade de envio de e-mail nem sempre é suficiente. É essencial testar HTML, validar cabeçalhos e verificar sua pontuação de spam antes de enviar e-mails para seus contatos. É aí que outra solução do Mailtrap, Email Testing pode te ajudar. Ele capturará seus e-mails do WordPress em uma caixa de entrada virtual, garantindo que nenhum deles chegue às caixas de entrada dos destinatários.
Semelhante ao envio de e-mail, o teste de e-mail pode ser integrado aos plug-ins do WordPress usando suas credenciais SMTP. Você os encontrará em sua conta expandindo 'Minha caixa de entrada' e pressionando 'Mostrar credenciais'. Veja como serão as configurações SMTP de exemplo:
- Host SMTP: sandbox.smtp.mailtrap.io
- Criptografia: TLS ou SSL
- Porta SMTP: 465 ou 587
- Autenticação: ativar
- Nome de usuário SMTP: <seu nome de usuário SMTP>
- Senha SMTP: <sua senha SMTP>
Em questão de segundos, seu e-mail de teste aparecerá em sua caixa de entrada virtual se a configuração estiver correta.
Como vimos, para configurar o WordPress para enviar e-mails com SMTP, você tem duas opções principais: codificar com PHPMailer ou usar plugins. A primeira opção é mais adequada para desenvolvedores, enquanto a segunda opção é perfeita para profissionais de marketing. Qualquer que seja o método escolhido, o principal é encontrar uma maneira de contornar as deficiências do PHP.
Todos os plug-ins listados acima permitem que você use o SMTP do Gmail. Embora seja bom o suficiente para enviar e-mails ocasionais, é melhor optar por um ESP confiável para enviar grandes volumes de e-mails. Caso contrário, seus e-mails provavelmente serão marcados como spam.
Aproveitar!