Linux, envoyer un mail en ligne de commande avec Gmail

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

Votre adresse e-mail ne sera pas publiée.