20 de junho de 2012

Enviar e-mails no WordPress com Autenticação SMTP

Por sidnei

Por defeito o WordPress envia os e-mails através da função mail() do php, o que se torna muito simples pois não temos de efectuar nenhuma configuração para o envio dos e-mails. Mas como nem todos os servidores que prestam serviços de alojamento de sites são iguais, por vezes esta solução simplesmente não funciona, ou porque o servidor não a suporta, por estar condicionada devido a possíveis spams, ou por simplesmente estar bloqueada.

A solução simples e que funciona sempre independente do servidor onde temos a nossa página alojada é usar o envio de e-mails com autenticação smtp. Desta forma podemos usar um servidor smtp com autenticação (desde que saibamos os dados de login) mesmo que seja diferente do servidor onde temos a nossa página alojada.

Para alterarmos o modo de envio dos e-mails basta-nos alterar 5 configurações em dois ficheiros do WordPress!

Primeiro:

No ficheiro /wp-includes/pluggable.php indicamos que vamos usar SMTP para o envio alterando o código:

 

1
$phpmailer->isMail();

para:

 

1
$phpmailer->isSMTP();

Segundo:

No ficheiro /wp-includes/class-phpmailer.php definimos na seguinte linha qual o endereço do nosso servidor SMTP:

 

1
var $Host        = "omeu.servidorsmtp.com";

Na grande maioria dos casos para usarmos o envio por SMTP é necessário usar autenticação, por isso devemos também alterar as seguintes linhas para configurarmos os nossos dados de login e indicar que queremos usar autenticação no SMTP:

1
var $SMTPAuth     = true;
2
var $Username     = "username";
3
var $Password     = "password";

Depois de efectuadas estas modificações já temos os nossos e-mails do WordPress a seguirem via Autenticação SMTP!