Muitas aplicações linux necessitam de enviar notificações por e-mail. Por exemplo o cron jobs utiliza o e-mail para enviar relatórios e alertas… no meu caso interessa-me que os diversos scripts descritos ao longo destes posts me enviem e-mails no caso de excedidas as características técnicas do raspberry pi, se tenho mensagens na BBS para mim, ou se houve actualizações de software…
Decidi-me pelo exim4 Mail Transport Agent pela simplicidade de configuração, espaço em disco e a necessidade de recursos mínimos de CPU.
O meu raspberry pi corre a versão Debian Buster e para instalar o exim4 deve fazer o seguinte,
Definir o nome da sua máquina descrito no artigo - Configurar correctamente o nome de uma máquina linux
Actualizar o seu sistema e instalar o exim4
Configurar o exim4
Siga os passos seguintes, responda às questões do instalador adaptando as respostas às suas configurações,
- a primeira janela pergunta-lhe qual o tipo de servidor que pretende. Para o que pretendo, seleccionei "mail sent by smarthost; no local mail" - a próxima, pergunta-lhe pelo nome do servidor de e-mail. Escreva o nome que utilizou no hostname - a seguir, quais são os endereços IP que podem utilizar o servidor. Responda com "127.0.0.1 ; ::1" - próxima, outros destinos para os quais correio é aceite. No meu caso utilizei as configurações de hosts para o meu endereço de IP público (endereço fixo): "ct1ebq.oitaven.pt; localhost.localdomain; localhost;" ou deixe em branco - nome de domínio visível para utilizadores locais, uma vez mais no meu caso "ct1ebq.oitaven.pt" - endereço IP ou host name para o envio de correio. No meu caso "mail.opensolutions.pt::587". Aqui, por exemplo, poderia ser o servidor de envio do gmail, ao qual responderia "smtp.gmail.com::587" - mantenha o pedido de nomes DNS mínimas (Dial-on-Demand)? Responda "No" - dividir a configurações em diversos ficheiros? Seleccione "Yes"
O resultado do meu ficheiro de configuração foi,
Agora tem de configurar os detalhes da conta de envio de correio. Edite o ficheiro /etc/exim4/passwd.client e adicione esta linha no final, de acordo com as suas configurações
Proteja este ficheiro,
Os restantes ficheiros de configurações encontram-se em /etc/exim4
Não os altere. Sempre que faça alterações a qualquer configuração de correr o comando sudo update-exim4.conf e reiniciar o exim4.
Notas:
Acabei por fazer pequenas alterações aqui e ali. Deixo-as também para minha referência,
Editei o ficheiro /etc/exim4/exim4.conf.localmacros
O ficheiro /etc/exim4/exim4.conf deve conter as linhas seguintes, para a minha configuração,
Foram estas linhas que permitiram o meu servidor de e-mail aceitar e-mails sem erros.
Alguns processos, como referi no início, poderão enviar e-mails para o root ou outros utilizadores do sistema: pi ou pi-star.
Edite o ficheiro /etc/aliases e modifique de acordo com as suas configurações. O meu ficou assim,
Basicamente, todos os e-mails enviados são re-encaminhados para root, que por sua vez re-encaminha para o user pi-star, tendo como final destinatário ct1ebq.
Corra o seguinte comando para aplicar as alterações,
Pode ainda criar configurações mais complexas que resolvam users e nome de máquina em e-mails verdadeiros. Edite o ficheiro /etc/email-addresses
sudo nano /etc/email-addressesE acrescente as linhas que pretender. Eis um pequeno exemplo,
Vamos testar
Aplique as suas configurações e reinicie o exim4,
Envie um e-mail a partir da linha de comandos linux,
"-v" dá-lhe os detalhes da comunicação e indica-lhe algum erro que possa ter de corrigir.
Mais 2 exemplos, para o envio de um pequeno texto,
Não esqueça de fazer cópias de segurança depois do exim4 bem configurado e testado!
Referências:
(alguns dos links que segui)
https://www.exim.org/docs.html
https://www.digitalocean.com/community/tutorials/how-to-install-the-send-only-mail-server-exim-on-ubuntu-12-04
https://raspinotes.wordpress.com/2019/03/10/send-email-from-raspberrypi-with-exim4/
http://www.manu-j.com/blog/wordpress-exim4-ubuntu-gmail-smtp/75/
https://askubuntu.com/questions/167043/how-do-i-configure-exim4-to-send-mail-through-a-password-protected-ssl-smtp-mail
https://linuxcommando.blogspot.com/2014/04/how-to-setup-exim4-on-debian-to-use.html
https://www.vultr.com/docs/setup-exim-to-send-email-using-gmail-in-debian