Gmail + Postfix = Relay SMTP Autenticado
Prezados colegas,
Primeiramente saudações pinguianas a todos!
Estava precisando que o Bacula enviasse e-mails de alertas quando o backup termina.
Como não tenho ip fixo para configurar um servidor de e-mails, decidi configurar o Postfix para enviar e-mail usando o smtp do Gmail.
Vamos as configurações:
Instale os pacotes e dependências.
apt-get install libsasl2-2 libsasl2-modules sasl2-bin mutt postfix openssl
Depois de instalar os pacotes e dependências edite o arquivo/etc/default/saslauthd e altere a opção Start de “NO” para “YES”.
vim /etc/default/saslauthd
Feita a alteração reinicie o serviço.
/etc/init.d/saslauthd restart
Agora vamos entrar no diretório do Postfix.
cd /etc/postfix
Vamos salvar o arquivo original de configuração do Postfix.
mv main.cf main.cf.bkp
Agora vamos criar um novo:
vim main.cf
Agora copie e cole neste novo main.cf vazio.
# SMTP relayhost relayhost = [smtp.gmail.com]:587 # TLS Settings smtp_tls_loglevel = 1 smtp_tls_CAfile = /etc/postfix/certs/CAcert.pem smtp_tls_cert_file = /etc/postfix/certs/mycert.pem smtp_tls_key_file = /etc/postfix/certs/mykey.pem smtp_use_tls = yes smtpd_tls_CAfile = /etc/postfix/certs/CAcert.pem smtpd_tls_cert_file = /etc/postfix/certs/mycert.pem smtpd_tls_key_file = /etc/postfix/certs/mykey.pem smtpd_tls_received_header = yes # configuracao tls smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_sasl_tls_security_options = noanonymous # alias de mapeamento interno para externo smtp_generic_maps = hash:/etc/postfix/generic
Agora vamos criar o arquivo generic dentro do diretório do Postfix /etc/postfix Para criar o arquivo:
vim generic
Este arquivo terá o seguinte conteúdo.
# Confs root@servidor [email protected] [email protected] [email protected]
Onde servidor é o nome do computador. Pra saber o nome da máquina basta digitar o comando hostname.
Precisamos criar também o arquivo que contém usuário e senha da sua conta no Gmail. Este arquivo se chamará sasl_passwd Este também no mesmo diretório /etc/postfix
vim sasl_passwd
Inserir o conteúdo:
[smtp.gmail.com]:587 [email protected] :suasenha
Precisamos agora criar os certificados que validam o servidor no Gmail. Antes de criar os certificados vamos criar um diretório chamado certs dentro de /etc/postfix
mkdir certs
Depois de criado entrar neste diretório com o comando cd
cd certs
Agora que estamos dentro do diretório certs rodar os três comandos nesta ordem:
1º comando:
openssl dsaparam -out dsaparam.pem 2048
2º comando:
openssl req -x509 -nodes -days 3650 -newkey dsa:dsaparam.pem -out mycert.pem -keyout mykey.pem ln -s mycert.pem CAcert.pem
3º comando:
openssl req -x509 -new -days 3650 -key /etc/postfix/certs/mykey.pem -out /etc/postfix/certs/mycert.pem rm dsaparam.pem
Depois de gerar os certificados vamos associar os arquivos com o comando:
postmap /etc/postfix/sasl_passwd /etc/postfix/generic
Terminamos as configurações, agora vamos reiniciar o serviço Postfix.
/etc/init.d/postfix restart
Vamos fazer o teste enviando e-mail via linha de comando.
echo 'Teste Postfix' | mutt -s "Teste de envio pelo console em $(date +%d/%m/%Y) às $(date +%H:%M:%S) hs" -- [email protected]
Para ver os logs do servidor de e-mail Postfix basta usar este comando:
tail -f /var/log/mail.log
Se aparecer nos logs algo informando que não existe o arquivos aliases.db basta rodar estes comandos:
cd /etc newaliases
Espero ter colaborado.
Esse artigo foi útil? Colabore com o nosso site para podermos continuar dando mais dicas como essa!
Formas de doação:
- Boleto / Cartão de crédito: https//bit.ly/AprendendoLinux
- Pix: [email protected]
- PicPay: @henrique_fagundes
- PayPal: [email protected]
- Bitcoin: bc1qtnn5z058htzy799dslwrpjcdpm0vuta3vrj28l
Favorecido: Luiz Henrique Marques Fagundes