Utiliser Gmail pour envoyer des mails depuis un shell

Publié le 22 octobre 2009 par Nicolargo

En lisant un billet sur blog Linuxers.org, m’est venu li’dée d’écrire un article sur l’utilisation d’un compte Gmail pour envoyer des mails depuis un shell ou tout autres processus utilisant un “sendmail-like” (un bon exemple d’application est l’envoi d’alertes par Nagios).

Nous allons utiliser SSMTP (pour Simple SMTP). La première chose à faire avant de lancer dans ce tuto est de créer un compte Gmail (que vous pouvez dédié à votre serveur ou pour l’ensemble de votre réseau). Je vous déconseille fortement d’utiliser votre adresse personnelle…

Une fois le compte Gmail créé (par exemple monbeauserveur@gmail.com pour illustrer le reste de cet article), nous allons installer SSMTP sur notre système GNU/Linux favori (Ubuntu Server 9.04 dans mon cas):

sudo aptitude install ssmtp

On configure SSMTP en éditant le fichier texte /etc/ssmtp/ssmtp.conf:

root=monbeauserveur@gmail.com
mailhub=smtp.gmail.com:587
hostname=monbeauserveur.monbeaudomaine.com
AuthUser=monbeauserveur
AuthPass=monbeauPaSsWoRd
FromLineOverride=YES
UseSTARTTLS=YES

Si sendmail était installé sur votre serveur, il va falloir le désinstallé (SSMTP remplacera SENDMAIL):

sudo service sendmail stop
sudo aptitude remove sendmail

Ensuite on configure SSMTP comme mailer par défaut (il doit y avoir une solution plus élégante mais je n’ai pas eu le temps de creuser):

sudo ln -s /usr/sbin/ssmtp /usr/sbin/sendmail

Enfin on teste l’envoi d’un mail à partir d’un Shell:

echo Contenu du mail" | mail -s "Titre du mail"  destinatairedumail@gmail.com

Le mail devrait arriver au destinataire (destinatairedumail@gmail.com) quelques secondes plus tard !

Il ne vous reste plus qu’a configurer vos services comme Nagios pour envoyer les alertes par mail !