Envoyer des courriels depuis un utilisateur système
Rédigé par Alexandre le 2020-06-24
Les utilisateurs système ont parfois des choses à dire. Imaginons par exemple qu'une tâche planifiée tourne et que sa sortie vous intéresse ; ça pourrait être pratique de la voir, non ?
Dans cet article, je documente l'installation et la configuration d'un client permettant d'envoyer des courriels (SMTP) depuis un fournisseur tiers.
Installer le client SMTP ainsi qu'un agent d'envoi de courriels en ligne de commande :
sudo apt install msmtp bsd-mailx
La configuration est très simple :
host
: adresse IP ou nom pleinement qualifié (FQDN) du serveur qui enverra le courrielport
: port utilisé par le serveur qui enverra le courrielfrom
: permet de définir qui a envoyé le courrieluser
: utilisateur existant sur le serveur d'envoi de courrielpassword
: mot de passe associé à l'utilisateur
Un exemple, dans mon cas, avec OVH (ces adresses de courriels n'existent pas !) :
sudo tee /etc/msmtprc <<EOF
## Account informations
account system
host ssl0.ovh.net
port 587
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
from "Exemple <exemple@ykn.ovh>"
auth on
user exemple@ykn.ovh
password dQYYVqGNajTVpfvc
## Define default account
account default : system
EOF
Définir vers quelle adresse seront envoyés les courriels en fonction de l'utilisateur système de destination :
lxc exec $target -- tee /etc/aliases <<EOF
root: root@ykn.ovh
alexandre: alexandre@canexistepas.fr
EOF
Tester l'envoi d'un courriel avec la commande suivante :
echo "J'essaie d'envoyer un mail...." | mail -v -s "Test d'envoi" toto@ykn.ovh
Vers la fin du retour de la commande, si tout s'est bien passé, il devrait y avoir quelque chose comme ça :
--> J'essaie d'envoyer un mail....
--> .
<-- 250 2.0.0 Ok: queued as 5337F13CEE08E
--> QUIT
Si cela ne fonctionne pas, il va falloir lire toute la sortie de la commande pour trouver où ça coince.