Configuração do exim4 para envio de e-mails

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-addresses

E 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