SSMTP est un paquet permettant d'envoyer des mails via un SMTP extérieur, ce paquet est vraiment intéressant dans le cas où l'on a par exemple un serveur de dev à la maison qui nécessite l'envoi de mail.
On commence par installer ssmtp :
apt-get install ssmtp
On édite le fichier de configuration afin d'y ajouter les paramètres qui vont bien :
nano /etc/ssmtp/ssmtp.conf
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
#mailhub=mail
mailhub=smtp.de_mon_fai.fr
# Where will the mail seem to come from?
#rewriteDomain=
rewriteDomain=monsite.com
# The full hostname
hostname=debian
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
#FromLineOverride=YES
Il est nécessaire de paramétrer 2 choses :
mailhub=smtp.de_mon_fai.fr
Cette ligne indique le smtp de votre fournisseur d'accès internet
.
rewriteDomain=monsite.com
Cette ligne indique le domaine d'où semble provenir le mail
Une fois ce paramétrage fait, on peut envoyer un mail de test :
mail moi@monsite.com
Subject: Ceci est un message de test envoyé de mon serveur de test debian
Ceci est le contenu du message de test envoyé de mon serveur debian
.
Le point de la dernière ligne sert à indiquer que le contenu du mail se termine ici.
Une fois le mail terminé, on vérifie dans les log qu'il est bien parti :
cat /var/log/mail.log
Jun 17 22:38:59 debian sSMTP[5596]: Sent mail for root@monsite.com (221 2.0.0 Bye) uid=0 username=root outbytes=446
Le paramètre rewriteDomain doit contenir un nom de domaine valide,
si ça n'est pas le cas (exemple: monsite.local) une erreur s'affiche à l'envoi du mail :
send-mail: 450 4.1.8 <root@monsite.local>: Sender address rejected: Domain not found