Hoje em dia em função do grande número de SPAM os servidores de e-mails estão mais criteriosos no recebimento de mensagens. O comum é que os servidores só recebam e-mails que foram enviados de forma autenticada.
Os projetos em WordPress por padrão usam a função mail do PHP que envia o e-mail pelo servidor local. Os projetos hospedados em Linux enviam os emails pelo Postfix. Abaixo vamos mostrar como configurar o Postfix para enviar os emails através de uma conta do Office 365. Desta forma os e-mail passam a ser enviados de forma autenticada por uma conta válida.
A plataforma que usamos para configurar foi um CentOS e um Red Hat
É necessários que alguns pacotes estejam instalados no servidor. Certifique-se que estão instalados usando o comando abaixo:
1 |
yum -y install postfix cyrus-sasl-plain mailx |
É necessário reiniciar o Postfix
1 |
systemctl restart postfix |
Caso você esteja instalando o postfix agora, é necessário configurar ele para ser iniciado no boot.
1 |
systemctl enable postfix |
Agora que os pacotes estão instalados, é necessário realizar as configurações abaixo.
Edite o arquivo /etc/postfix/main.cf e adicione as linhas abaixo no final do arquivo. Altere de acordo com o seu servidor.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
myhostname = servidor.seudominio.com.br relayhost = [smtp.office365.com]:587 smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt smtp_sasl_security_options = noanonymous smtp_sasl_tls_security_options = noanonymous # Corrige o problema do sender sender_canonical_classes = envelope_sender, header_sender sender_canonical_maps = regexp:/etc/postfix/sender_canonical_maps smtp_header_checks = regexp:/etc/postfix/header_check |
Salve o arquivo e saia.
Crie o arquivo /etc/postfix/sasl_passwd e adicione a linha abaixo dentro dele.
1 |
[smtp.office365.com]:587 EMAIL@DOMINIO.COM.BR:SENHA |
Salve o arquivo e saia.
Rode o comando abaixo para criar o arquivo sasl_passwd.db
1 |
postmap /etc/postfix/sasl_passwd |
Agora acerte as devidas permissões.
1 2 |
chown root:postfix /etc/postfix/sasl_passwd* chmod 640 /etc/postfix/sasl_passwd* |
Crie o arquivo /etc/postfix/sender_canonical_maps e adicione o conteúdo abaixo:
1 |
/.+/ EMAIL@DOMINIO.COM.BR |
Salve e saia do arquivo
Crie o arquivo /etc/postfix/header_check e adicione o bloco abaixo:
1 |
/From:.*/ REPLACE From: EMAIL@DOMINIO.COM.BR |
Pronto, terminamos as configurações. Agora vamos reiniciar o postfix com o comando abaixo:
1 |
systemctl reload postfix |
Para testar use o comando abaixo e monitore o log de envio.
1 |
echo "Este é um teste!" | mail -s "Mensagem de Teste" email@dominio.com.br |
1 |
tail -f /var/log/maillog |
Se tudo estiver correto, todos os e-mails do servidor serão enviados pela conta do Office 365.