Services

Paramétrer simplement l'envoi de mail sur un serveur

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Dernière mise à jour : 05/09/2022 à 15h26
Table des matières Dans cet article, nous allons décrire comment paramétrer l'envoi de mail à a partir d'un serveur. Cela peut s'avérer très utile pour qu'un serveur envoi des mails lors de la réalisation d'une tache, ou pour intégrer l''envoi d'un mail dans un script.

Installation des paquets nécessaires



Je donne les commandes ici pour Debian et dérivés mais ces paquets existent sur d'autres distributions.

On installe les paquets msmtp, msmtp-mta ainsi que bsd-mailx.

Code BASH :
sudo apt install msmtp msmtp-mta bsd-mailx


Ce dernier paquet est utile seulement si vous souhaitez utiliser la commande mail pour l'envoi des messages. Sans ce paquet, seule la commande msmtp fonctionne. Pour un script, ce n'est pas grave mais certains logiciels envoient des mails seulement par la commande mail. C'est le cas par exemple de unattended-upgrades

Démarrage du service



On peut tout d'abord vérifier si le service est démarré :

Code BASH :
systemctl status msmtp.service


Si le service n’apparaît pas en vert "Active" :

Code BASH :
systemctl enable --now msmtp.service


Configuration



Pour fonctionner, le service s'appui sur le fichier de configuration suivant, à éditer :

Code BASH :
vim /etc/msmtprc


On peut y insérer les options par défaut pour tous les comptes que l'on paramètre :

Code TEXT :
 
# Valeurs par defaut pour tous les comptes.
defaults
auth           on
tls            on
tls_starttls   on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile        /var/log/msmtp.log
 


On créé ensuite une partie pur chaque compte que l'on souhaite paramétrer :

Code TEXT :
 
account            [nom du compte]
host               [serveur smtp]
port               [port smtp]
from               [adresse mail] ou [Nom expéditeur]
user               [utilisateur du compte mail utilisé]
password           [mot de passe du compte mail]
 


Par exemple, pour un compte gmail

Code TEXT :
 
account            Gmail rungis
host               smtp.gmail.com
port               587
from               Rungis
user               [email protected]
password           MonMotDePasseGmail
 


Test



Vous pouvez ensuite tester l'envoi d'un mail par la commande suivante :

Code BASH :
echo "Corps du mail" | mail -s "Sujet du mail" destinataire@gmail.com