Envoyer des courriels depuis un utilisateur système

Rédigé par Alexandre le 24/06/2020

#auto-hébergement #debian #loisir

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 courriel
  • port : port utilisé par le serveur qui enverra le courriel
  • from : permet de définir qui a envoyé le courriel
  • user : utilisateur existant sur le serveur d'envoi de courriel
  • password : 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.