Nos servidores LAMP que administro, muitas vezes tenho necessidade de receber relatórios ou alertas automáticos, sem ter que me ligar à máquina de tempos a tempos e andar a vasculhar os logs.
Então nada melhor que usar um sistema “quase” nativo de mail em Linux, de seu nome POSTFIX juntamente com uma conta GMAIL! Porquê com GMAIL? Porque é gratuito, seguro (SSL) e não corremos o risco de a nossa máquina ser considerada SPAM e os emails deixarem de ser entregues… como é óbvio, se exagerarem nos emails enviados o Sr. GMAIL ou o vosso ISP fecha a torneira 😀
Esta configuração pressupõe um servidor Debian based (ubuntu, debian, etc) mas deverá funcionar em qualquer distribuição standard. Não há necessidade de abrir portas na firewall (a não ser a de saída TCP587 caso tenham tudo bloqueado) porque o objectivo deste artigo é configurar uma máquina que apenas envie correio electrónico. Não é aconselhado terem a máquina sem uma firewall activa, principalmente na porta de entrada 25, porque senão o vosso servidor vai enviar os emails que receber de outras máquinas. Podem usar o UFW, como explicado aqui. Também pressupõe conhecimentos básicos (no mínimo!) do editor nano.

Na consola vamos primeiro instalar o que precisamos:
sudo apt-get install postfix libsasl2-2 ca-certificates libsasl2-modules
O sistema vai nos colocar uma questão, escolhemos Site Internet e inserimos o FQDN da nossa máquina (pode ser só o nome do computador na rede local ou um dns dinâmico estilo dyndns, etc).
Em seguida configuramos o serviço de email:
sudo nano /etc/postfix/main.cf
e editamos ou acrescentamos o seguinte:
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/postfix/cacert.pem
smtp_use_tls = yes
Salvamos as alterações e em seguida executamos:
sudo nano /etc/postfix/sasl_passwd
No ficheiro (que deverá estar vazio) escrevemos o seguinte:
[smtp.gmail.com]:587 user.name@gmail.com:password
Onde está user.name e password colocar a vossa conta GMAIL.
Guardamos o ficheiro criado e a seguir executamos:
sudo chmod 400 /etc/postfix/sasl_passwd (vai proteger o ficheiro)
sudo postmap /etc/postfix/sasl_passwd
cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | sudo tee -a /etc/postfix/cacert.pem
E reiniciamos o serviço:
sudo /etc/init.d/postfix reload
Se tudo correu bem, não vão aparecer erros e a vossa máquina está pronta para enviar emails. Caso apareça um aviso do postfix sobre não suportar o IPV6 basta instalar o respetivo suporte:
sudo modprobe ipv6
E reiniciamos novamente o serviço:
sudo /etc/init.d/postfix reload
Vamos testar? 🙂 Escrevemos o seguinte na consola (fazer enter no fim de cada linha):
sendmail destinatário
FROM: nossoGmail
SUBJECT: hello world
Este é um teste de email
.
E pronto! Já deverão ter o email na caixa de entrada do destinatário! 😀
Esta configuração permite o envio de emails a partir de qualquer aplicação que seja executada localmente como por exemplo um formulário de uma página de internet ou um php de uma aplicação web based. Eu uso para receber alertas e relatórios de segurança.