[Linux] – SMTP Relay com Postfix para Gmail e Hotmail
Bom pessoal, neste post vou abordar a instalação e configuração de um SMTP Relay no Postfix utilizando como servidores de e-mail, Gmail e o Hotmail. O Postfix é um dos servidores de e-mail mais utilizado no mundo e o seu suporte e utilização são estáveis. Porque estou abordando este assunto? é pelo seguinte cenário. Existem algumas aplicações que não possuem suporte nativo para envio de e-mail com tls e ssl. Nisso utilizar um servidor de SMTP Relay para enviar as mensagens para ele facilita nosso gerenciamento e com o Postfix isso se torna viável pois ele irá agir simplesmente encaminhando as mensagens que forem enviadas para ele, conforme configurado.Vamos ao hands-on.
1. Instalação do Postfix no Debian 6
1 | # apt-get install postfix libsasl2-2 ca-certificates libsasl2-modules |
2. Configurando o Postfix
Inicialmente o postfix vêm com suas configurações zeradas, nisso você terá que criar o arquivo /etc/postfix/main.cf com as configurações do servidor de e-mail que irá utilizar.
Configuração do main.cf para Gmail:
1 2 3 4 5 6 | relayhost = [smtp.gmail.com]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt smtp_use_tls = yes |
Configuração do main.cf para Hotmail:
1 2 3 4 5 6 | relayhost = [smtp.live.com]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt smtp_use_tls = yes |
O próximo passo é definirmos a configuração de usuário e senha no Gmail ou Hotmail. Primeiramente teremos que criar o arquivo /etc/postfix/sasl_passwd e depois configurar de acordo com o servidor de e-mail.
1 | # touch /etc/postfix/sasl_passwd |
Editando o arquivo /etc/postfix/sasl_passwd , vamos configurar o mesmo para utilizar o Gmail ou Hotmail :
Gmail:
1 | [smtp.gmail.com]:587 user.name@gmail.com:password |
Hotmail:
1 | [smtp.live.com]:587 user.name@hotmail.com:password |
Este arquivo /etc/postfix/sasl_passwd deve ter acesso restrito no Linux então precisamos alterar suas permissões e depois gerar um arquivo .db que o Postfix irá ler.
1 2 | # chmod 400 /etc/postfix/sasl_passwd # postmap /etc/postfix/sasl_passwd |
Pronto agora que seu Postfix está configurado, vamos fazer o Postfix reler as configurações para utilizamos ele como SMTP Relay.
1 | # /etc/init.d/postfix reload |
Agora é só testarmos e verificar se está tudo funcionando. Para debugar e verificar o funcionamento do Postfix verique o arquivo de log /var/log/mail.log , segue abaixo um método para debugar este arquivo:
1 | # tail -f /var/log/mail.log |
Bom pessoal, para facilitar a configuração vou disponibilizar as configurações do Gmail e Hotmail para download, segue abaixo:
Gmail:
https://dl.dropbox.com/s/6cr4pedor8iahyy/postfix_conf_gmail.zip?dl=1
Hotmail:
https://dl.dropbox.com/s/yjioiajqnc78t89/postfix_conf_hotmail.zip?dl=1
Também estarei disponibilizando um Cliente de E-mail simplificado para windows para efetuar os testes, segue abaixo:
SMTP Tester:
https://dl.dropbox.com/s/a31soxskc6ythm1/TestaSmtp.zip?dl=1
Bom pessoal, espero que o post possa ter ajudado quem esteja procurando uma solução de SMTP Relay para Plataforma Linux de forma fácil e prática. Qualquer dúvida sobre o post, favor comentar para que possa ajudar. Que a Graça e Paz estejam com todos.
Fonte: http://blog.gaudencio.net.br/2012/11/linux-smtp-relay-com-postfix-para-gmail.html
Cara, eu fiz exatamente a configuração acima e possuo o Google Apps… porém está apresentando as seguintes mensagens…
root@XXX:~# tail -f /var/log/mail.log
Dec 6 10:31:50 XXX postfix/master[1076]: warning: /usr/lib/postfix/local: bad command startup — throttling
Dec 6 10:31:50 XXX postfix/smtpd[5410]: fatal: open database /etc/aliases.db: No such file or directory
Dec 6 10:31:51 XXX postfix/master[1076]: warning: process /usr/lib/postfix/smtpd pid 5410 exit status 1
Dec 6 10:31:51 XXX postfix/master[1076]: warning: /usr/lib/postfix/smtpd: bad command startup — throttling
Dec 6 10:32:50 XXX postfix/local[5423]: fatal: open database /etc/aliases.db: No such file or directory
Dec 6 10:32:51 XXX postfix/master[1076]: warning: process /usr/lib/postfix/local pid 5423 exit status 1
Dec 6 10:32:51 XXX postfix/master[1076]: warning: /usr/lib/postfix/local: bad command startup — throttling
Dec 6 10:32:51 XXX postfix/smtpd[5424]: fatal: open database /etc/aliases.db: No such file or directory
Dec 6 10:32:52 XXX postfix/master[1076]: warning: process /usr/lib/postfix/smtpd pid 5424 exit status 1
Dec 6 10:32:52 XXX postfix/master[1076]: warning: /usr/lib/postfix/smtpd: bad command startup — throttling
postfix/master[1076]: warning: /usr/lib/postfix/local: bad command startup — throttling
O que poderia estar errado?
Abs.
Sandro,
Vamos ler o seu log que já diz qual é problema: “fatal: open database /etc/aliases.db: No such file or directory” .
Não encontra o arquivo /etc/aliases.db (que é gerado a partir do /etc/aliases), que contém os apelidos para as contas.
Faça:
postalias /etc/aliases
ou
newaliases
Reincie o postfix:
/etc/init.d/postfix restart
Deve funcionar 🙂
Abraços.
Cara apenas estava faltando o seguinte comando com o usuário root logado:
newaliases
isso irá criar o aliases.db