Bom dia galera!
Estava precisando que meu Script de Monitoramento de Espaço em Disco enviasse e-mails de um cliente que não possui um servidor Linux dedicado para função.
Como o cliente não possuia IP Fixo para configurar um servidor de e-mails, decidi configurar o Postfix para enviar e-mail usando o SMTP do Gmail.
Vamos às configurações:
Instale os pacotes e dependências.
# apt-get install libsasl2-2 libsasl2-modules sasl2-bin mutt postfix openssl
# 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”.
# vi /etc/default/saslauthd
# vi /etc/default/saslauthd
Feita a alteração reinicie o serviço.
# /etc/init.d/saslauthd restart
# /etc/init.d/saslauthd restart
Agora vamos entrar no diretório do Postfix.
# cd /etc/postfix
# cd /etc/postfix
Vamos salvar o arquivo original de configuração do Postfix.
# mv main.cf main.cf.bkp
# mv main.cf main.cf.bkp
Agora vamos criar um novo:
# vi main.cf
# vi 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
# 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:
# vi generic
# vi generic
Este arquivo terá o seguinte conteúdo.
# Confs
root@servidor seuemail@gmail.com
root@servidor.localdomain seuemail@gmail.com
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
# nano sasl_passwd
Inserir o conteúdo:
[smtp.gmail.com]:587 seuemail@gmail.com :suasenha
[smtp.gmail.com]:587 seuemail@gmail.com :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 1024 -out dsa1024.pem
2º comando:
# openssl req -x509 -nodes -days 3650 -newkey dsa:dsa1024.pem -out mycert.pem -keyout mykey.pem;ln -s mycert.pem CAcert.pem
# openssl req -x509 -nodes -days 3650 -newkey dsa:dsa1024.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 dsa1024.pem
# openssl req -x509 -new -days 3650 -key /etc/postfix/certs/mykey.pem -out /etc/postfix/certs/mycert.pem;rm dsa1024.pem
Depois de gerar os certificados vamos associar os arquivos com o comando:
# postmap /etc/postfix/sasl_passwd;postmap /etc/postfix/generic;postmap /etc/postfix/main.cf
# postmap /etc/postfix/sasl_passwd;postmap /etc/postfix/generic;postmap /etc/postfix/main.cf
Terminamos as configurações, agora vamos reiniciar o serviço Postfix.
# /etc/init.d/postfix restart
# /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” e-mail@seuemail.com.br
# echo “Teste Postfix” | mutt -s “teste de envio pelo console” e-mail@seuemail.com.br
Para ver os logs do servidor de e-mail Postfix basta usar este comando:
# tail -f /var/log/mail.log
# 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
# cd /etc
# newaliases
Espero ter colaborado.
Tel.: (41) 9893-870
Comentários
Postar um comentário