Linux, envoyer un mail en ligne de commande avec Gmail

Nous avons souvent besoin d’envoyer une notification lors d’un traitement planifié via cron ( comme une sauvegarde) afin de s’assurer que celle ci s’est bien dérouler. Nous allons voir dans cet article comment faire cela avec le programme mutt et Gmail ( il est tout à fait possible d’utiliser un autre fournisseur de messagerie comme outlook, ovh, etc). J’utilise une Debian 10 pour cette démonstration.
Installation
On installe les paquets msmtp sur Ubuntu / Debian avec le gestionnaire de paquets apt :
sudo apt-get install mutt |
Sur Redhat / Centos avec le gestionnaire de paquets Yum
yum install msmtp mutt |
Configuration
Il suffit de créer le fichier ~/.muttrc avec votre éditeur préféré
1 | sudo nano ~/.muttrc |
Puis on peut y renseigner la configuration ( ici pour Gmail)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | # Adresse électronique de l'expéditeur set from="votre_adresse@gmail.com" # Nom complet de l'expéditeur qui apparaitra set realname = "prenom nom" # Génération du champs from set use_from = yes # Signature si vous souhaitez en insérer une #set signature=~/.signature # Définition des dossiers de travail de Mutt ( ne pas oublier de créer les répertoires) set spoolfile = /var/spool/mail/$USER set folder = ~/mail set tmpdir = ~/tmp # Vim comme éditeur set editor = "vim -c 'set tw=72' -c 'set wrap'" ### CONFIGURATION SMTP set smtp_pass = "votre_mot_de_passe" #source "gpg -d ~/.mutt/password.gpg |" set smtp_url="smtps://USER:VOTRE MOT DE PASSE@smtp.gmail.com:587" set ssl_starttls="yes" |
Il faut adapter en fonction des paramètres de votre messagerie ( serveur smtp, port, etc) .Vous pouvez tester l’envoie en utilisant la commande
1 | echo "Hello World" | mutt -s "subject" email@domain.com #mettre le destinataire souhaité |
Vous pouvez désormais envoyer des mails en ligne de commande et en l’intégrant facilement dans un script.
Laisser un commentaire