Tutorial configurar WordPress para enviar email por SMTP

Objetivos

  • Aprender a ter suporte de envio de emails pelo WordPress utilizando um servidor de emails externo e autenticado
  • Poder enviar email autenticado por uma caixa do gmail de forma simples ou outro servidor smtp
  • Poder utilizar o plugin Contact form 7 em conjunto com envio de mensagens autenticadas por smtp
  • Ter funcionalidade de envio de email pelo wordpress, mesmo que este esteja instalado em um container com docker

Requisitos para seguir o tutorial

  • Saber encontrar os arquivos da sua instalação do wordpress
  • Saber editar arquivos da sua instalação do wordpress
  • Ter uma caixa de email criada (gmail ou outro provedor) e saber a senha
    • Caso utilize o gmail: criar uma senha de APP
      • É preciso ter autenticação em 2 etapas ativada na sua conta do gmail para a opção de criar senha de APP ficar disponível

Tutorial passo a passo para configurar envio de email autenticado pelo wordpress

Passo 1 – Configurar seu tema para suporte a envio de email por smtp

Acesse a pasta do seu tema atual do wordpress, por exemplo:

cd wp-content/themes/TEMAqueESTAusando/

Edite ou crie o arquivo functions.php dentro do seu tema atual:

nano funcions.php

Agora adicione o conteúdo:

add_action( 'phpmailer_init', 'send_smtp_email' );
function send_smtp_email( $phpmailer ) {
    $phpmailer->isSMTP();
    $phpmailer->Host       = SMTP_HOST;
    $phpmailer->SMTPAuth   = SMTP_AUTH;
    $phpmailer->Port       = SMTP_PORT;
    $phpmailer->SMTPSecure = SMTP_SECURE;
    $phpmailer->Username   = SMTP_USERNAME;
    $phpmailer->Password   = SMTP_PASSWORD;
    $phpmailer->From       = SMTP_FROM;
    $phpmailer->FromName   = SMTP_FROMNAME;
}

Lembrando que o código acima é da linguagem PHP, então precisa estar dentro das tags <?php e ?>.

Passo 2 – Configurar o wordpress para utilizar envio de email pelo servidor SMTP definido, ao invés do sendmail padrão

Agora é necessário editar o arquivo wp-config.php que está na base da instalação do wordpress.

nano wp-config.php

É necessário adicionar o conteúdo:

define( 'SMTP_HOST', 'smtp.gmail.com' );
define( 'SMTP_AUTH', true );
define( 'SMTP_PORT', '465' );
define( 'SMTP_SECURE', 'ssl' );
define( 'SMTP_USERNAME', 'seuemail@gmail.com' ); // Sua conta de email
define( 'SMTP_PASSWORD', 'suasenhatipoAPPpasswordgerada' ); // Sua senha de APP gerada no gmail (autenticação em 2 etapas precisa estar ativada para ter essa opção)
define( 'SMTP_FROM', 'seuemail@gmail.com' ); // Endereço de remetente, se quiser diferente do seu endereço de email
define( 'SMTP_FROMNAME', 'Nome Sobrenome' ); // Nome Remetente

Caso utilize seu próprio servidor de email, também é possível utilizá-lo. Basta realizar as modificações para sua caixa de email do seu servidor e o endereço smtp. Então, seguindo o exemplo do Tutorial para criar servidor de email, as configurações seriam muito semelhantes ao código abaixo:

define( 'SMTP_HOST', 'mail.seudominio.com.br' );
define( 'SMTP_AUTH', true );
define( 'SMTP_PORT', '465' );
define( 'SMTP_SECURE', 'ssl' );
define( 'SMTP_USERNAME', 'seuemail@seudominio.com.br' ); // Sua conta de email
define( 'SMTP_PASSWORD', 'suasenhatipoAPPpasswordgerada' ); // Sua senha da caixa de email
define( 'SMTP_FROM', 'seuemail@seudominio.com.br' ); // Endereço de remetente, se quiser diferente do seu endereço de email
define( 'SMTP_FROMNAME', 'Nome Sobrenome' ); // Nome Remetente

Conclusão

Esta é uma alternativa simples e objetiva para ter suporte a envio de emails autenticados com wordpress. Nativamente o wordpress irá tentar utilizar o método de envio de email padrão do servidor onde está configurado, usualmente o sendmail. Caso utilize seu wordpress em um container com docker, o envio autenticado é uma boa alternativa para garantir funcionalidades de envio de email, sem a necessidade de utilizar algum plugin mais complicado, como o WP MAIL SMTP.

Vinicius Paes
Visão Geral sobre Privacidade (Privacy Overview)

Este site utuliza "cookies" para que possamos oferecer uma melhor experiência de usuário. As informações dos "cookies" são armazenadas em seu navegador e executam funções como reconhecê-lo quando você retorna ao nosso site e ajudar nossa equipe a entender quais seções do site você considera mais interessantes e úteis.