Envoyer des mails depuis plusieurs comptes en ligne de commande

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.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.

Nombre de posts de cet auteur : 526.Voir tous les posts

One thought on “Envoyer des mails depuis plusieurs comptes en ligne de commande

  • Merci pour cet article, ça m’a permis de comprendre certains aspects de msmtp que beaucoup d’autres articles se contentaient de survoler

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.