Linux: envoyer un mail en ligne de commande
Il est parfois utile d'envoyer automatiquement des alertes ou log par mail. Afin de scripter l'envoie, on doit paramétrer un client mail et un relais smtp.
d'abord installer le necessaire:
sudo apt install mailutils
Configurer le SMTP de postfix
sudo vi /etc/postfix/main.cfg
Pour fixer le sender (From)
sender_canonical_maps = static:webmaster@beemoon.fr
le SMTP
relayhost = smtps.gmail.com:587
L'authentification SMTP
smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/password
Créer la base de donnée pour l'authentification SMTP
sudo vi /etc/postfix/password
le format ddu fcihier
nom_du_smtp login:password
example
smtps.gmail.com toto:mdpToto23!1&
on sécurise le fichier
sudo chown root:root /etc/postfix/password sudo chmod 600 /etc/postfix/password
On génère la base de donnée
sudo postmap hash:/etc/postfix/password
Recharge postfix
/etc/init.d/postfix reload
Tester un envoie à webmaster@beemoon.fr
echo test| mail -s "Login-Alert on `hostname`" webmaster@beemoon.fr
En cas de non réception du mail on verifie les logs
sudo tail -f /var/log/mail.log
Et voilà on peut automatiser l'envoie des logs ou alertes!
Dernière modification : le 2025/03/06