Envoyer des mails depuis plusieurs comptes en ligne de commande
Sommaire
I. Présentation
Dans ce tutoriel, nous allons apprendre à utiliser l'outil MSMTP. Ce petit outil qui s'installe sur les distributions Linux permet la gestion du multi-comptes mails en ligne de commande (une sorte de Outlook ou Thunderbird CLI). Il est important de souligner qu'il ne sert qu'à envoyer des mails depuis plusieurs comptes différents (par exemple, un Gmail et un Yahoo) et non à en recevoir.
II. Installation de l’outil
Nous commençons donc par installer l'outil sur notre machine Linux :
apt-get update && apt-get install msmtp
III. La configuration
Il se peut qu'il n'y ait pas de création de fichier de configuration par défaut, nous allons donc le créer manuellement. Il faut néanmoins savoir où le créer. Par défaut, le fichier principal de configuration sera "/etc/msmtprc". Cependant, si un fichier ".msmtprc" se trouve dans le "home" d'un utilisateur, celui-ci remplacera le fichier de configuration principal. Cela nous permet d'avoir des configurations différentes selon les utilisateurs. Nous créons ici le fichier de configuration principal :
vim /etc/msmtprc
IV. Contenu du fichier de configuration
Le fichier de configuration va contenir les différents comptes mails avec lesquels nous souhaitons envoyer des mails. Nous y préciserons leur nom, le serveur à utiliser, leur port et plusieurs informations sur l'authentification au serveur. Voyons par exemple la création d'un compte Gmail :
# On nomme le compte account gmail # Serveur SMTP host smtp.gmail.com # Activation du TLS tls on # Désactivation de la vérification du certificat tls_certcheck_off port 587 from [email protected] # Identifiants de messagerie sur le serveur d'envoie user nom_user password password_user
Toute les adresses mails définies ressembleront à cette configuration. Une nouvelle adresse commencera par "account ". On doit pour finir définir un compte à utiliser par défaut :
account default : gmail
Plusieurs autres options pour des configurations plus spécifiques sont présentes dans le man de l'outil msmtp :
man msmtp
ou
msmtp -h
V. Choisir avec quel compte envoyer
Pour choisir avec quel compte envoyer, nous devrons utiliser l'option "-a" (pour "account") de la commande msmtp qui sera utilisé à la place de "mail" :
echo "test 1" | msmtp -a gmail [email protected]
Si aucun compte n'est spécifié, c'est le compte définit comme compte par défaut qui sera utilisé.
VI. Protéger l'accès aux informations de compte
Un défaut dans msmtp est que les mots de passe et informations de comptes sont en clair dans un simple fichier. Nous pouvons pour sécurisé un peu les informations de comptes restreindre les accès aux fichiers de configurations de msmtp par les droits unix . Ne pas oublier de modifier les droits de lecture sur le fichier "/etc/msmtprc" ou "~/.msmtprc" pour que personne (sauf le propriétaire du fichier) ne puisse lire les mots de passe des comptes mails., On peut pas exemple, une fois que les informations de comptes saisies mettre un droit uniquement de lecture pour le propriétaire sur le fichier de configuration :
chmod 500 /etc/msmtprc
ou
chmod 500 ~/.msmtprc
Seul le propriétaire sera ainsi capable de lire les informations de comptes contenues dans la configuration de msmtp.
Merci pour cet article, ça m’a permis de comprendre certains aspects de msmtp que beaucoup d’autres articles se contentaient de survoler