Esse tutorial irá explicar como enviar emails diretamente do console usando o postfix e o smtp do gmail.
Passos usados nesse Tutorial
- Instalar os Pacontes (Programas e dependências)
- Editar o arquivo /etc/postfix/main.cf
- Editar o arquivo /etc/postfix/generic
- Editar o arquivo /etc/postfix/sasl_passwd
- Criar os certificados no diretório /etc/postfix/certs/
- Usar o comando postmap para o postfix criar seu banco de dados padrão.
- Enviar um email pelo console para testar.
- Analizar o log para ver se deu tudo certo.
Primeiro vamos instalar os pacotes .
sudo apt-get install libsasl2-2 libsasl2-modules sasl2-bin mutt postfix openssl
Vamos entrar no diretório do postfix.
cd /etc/postfix
Vamos mover a conf padrão dele e criar uma vazia.
sudo mv main.cf main.cf-bkp
Cuidado para não criar um arquivo com espaço no final.
sudo touch main.cf
Vamos colocar esse conteúdo abaixo no arquivo main.cf.
sudo kate /etc/postfix/main.cf #para kde
sudo gedit /etc/postfix/main.cf #para gnome
sudo nano /etc/postfix/main.cf #para console
#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
Vamos criar o arquivo ” generic ” e vamos inserir o conteúdo abaixo.
sudo nano /etc/postfix/generic
Coloque esse conteúdo.
root@cmop.mg.gov.br sigla@cmop.mg.gov.br
root@arquivos.localdomain sigla@cmop.mg.gov.br
Control + X para sair e depois S.
Vamos criar o arquivo .
/etc/postfix/sasl_passwd
sudo nano /etc/postfix/sasl_passwd .
E colocar esse conteúdo.
[smtp.gmail.com]:587 sigla@cmop.mg.gov.br:suasenha
Então vamos criar os certificados .
Vamos criar o diretório dos certificados.
sudo mkdir /etc/postfix/certs/
Depois entrar nele.
cd /etc/postfix/certs/
Vamos criar os certificados .
Vamos mudar de usuário.
sudo bash
Depois.
# openssl dsaparam 1024 -out dsa1024.pem
Depois.
# openssl req -x509 -nodes -days 3650 -newkey dsa:dsa1024.pem -out mycert.pem -keyout mykey.pem;ln -s mycert.pem CAcert.pem
Depois.
# openssl req -x509 -new -days 3650 -key /etc/postfix/certs/mykey.pem -out /etc/postfix/certs/mycert.pem;rm dsa1024.pem
Agora vamos dar esse comando .
# postmap /etc/postfix/sasl_passwd;postmap /etc/postfix/generic;postmap /etc/postfix/main.cf
Vamos reiniciar o Postfix.
# /etc/init.d/postfix restart
Vamos Testar se ele está funcionando .
echo "segue a mensagem" | mutt -s "teste de envio pelo console" meuemail@xjulio.info
Olhe no log se deu tudo certo, caso ele acuse algum erro corrija de acordo com a mensagem.
kate /var/log/mail.log #no kde
gedit /var/log/mail.log #no gnome .
Ou usando o comando tail.
tail -f /var/log/mail.log
ATENÇÃO!
Todas as vezes que você alterar os arquivos /etc/postfix/sasl_passwd ou
/etc/postfix/generic é necessário usar o seguinte comando
postmap /etc/postfix/sasl_passwd ou
postmap /etc/postfix/
generic
E a seguir restartar o postfix
/etc/init.d/postfix restart
Referências .
http://pinguimribeiro.wikidot.com/postfix-relay
http://centosbr.org/site/howtos/howto.php?id=74
http://bookmarks.honewatson.com/2008/04/20/postfix-gmail-smtp-relay/