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é
sudo nano ~/.muttrc
Puis on peut y renseigner la configuration ( ici pour Gmail)
# 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
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