Vous êtes ici : Accueil > Administration réseaux > Envoyer des mails simplement avec sSMTP

Envoyer des mails simplement avec sSMTP

Vous souhaiter que votre serveur vous envoie des mails dès qu'il se passe quelques chose dessus mais vous n'avez pas envie d'une solution trop lourde comme Sendmail ou Postfix alors sSMTP est fait pour vous. En effet, sSMTP est un MTA (Mail Transfert Agent) ce qui veut dire qu'il ne fait que relayer mail vers un serveur SMTP externe (celui de votre FAI par exemple). L'avantage d'une telle solution est que sSMTP ne consomme que très très peu de ressources. Dans ces ligne, nous allons voir comment installer et configurer sSMTP afin qu'il relaye les mails émanant du serveur vers votre boite mail.

I – Installation

Pour l'installer rien de plus simple. sSMTP se trouve dans les dépôts donc il suffit de taper dans un terminal :

sudo apt-get install ssmtp

II – Configuration

sSMTP se configure avec les fichiers suivants : /etc/ssmtp/ssmtp.conf et /etc/ssmtp/revaliases.

/etc/ssmtp/ssmtp.conf :

### CONFIGURATION GENERALE ###

MailHub=smtp.de.votre.fai	# Serveur SMTP vers lequel forwarder les mails
RewriteDomain=			# Domaine depuis lequel est envoyé le mail
                                # (on peut le laisser vide)
Hostname=nom.de.votre.serveur	# Nom de la machine
FromLineOverride=yes            # Ré-écriture de l'expéditeur (champ from)
Root=srv-ced@ced-info.com       # redirige les mails à destination de "root"
                                # vers srv-ced@ced-info.com

### CONFIGURATION DE L'AUTHENTIFICATION ###

UseTLS=yes                       # Utilisation d'une connexion sécurisée SSL
                                # ou TLS (si votre FAI l'utilise sinon mettre no)
AuthUser=votre.utilisateur      # Nom d'utlisateur pour l'authentification SMPT
AuthPass                        # Le mot de passe correspondant

La variable AuthUser est des fois sous la forme votre.utilisateur@votre.fai cela dépend du smtp correspondant.

Une fois ce fichier de confguration sauvegardé nous allons pouvoir modifier le fichier /etc/ssmtp/revaliases.

/etc/ssmtp/revaliases :

root:srv-ced@ced-info.com:smtp.de.votre.fai

Ce fichier permet de spécifier quel smpt doit utiliser chaque compte utilisateur (si ce n'est pas celui par défault).

ATTENTION, certains FAI bloque le port 25 (le port standard su smtp afin d'éviter les spams). Dans ce cas là, il faut notifier le port à utiliser en remplacement. Ce port se renseigne pour la variable MailHub dans le fichier /etc/ssmtp/ssmtp.conf comme ceci :

 MailHub=smtp.de.votre.fai:587

(si le port smtp alternatif de votre FAI est 587) et aussi dans le fichier /etc/ssmtp/revaliases comme ceci :

root:srv-ced@ced-info.com:smtp.de.votre.fai:587

Vous pouvez maintenant essayer d'envoyer un mail en ligne de commande pour voir si cela fonctionne. ET oui l'avantage avec sSMTP c'est qu'il n'y a pas de démons à relancer lors d'une modification. Une fois que votre configuration est enregistrée, elle est directement prise en compte. 🙂

III – Envoi d'un mail de test

Pour envoyer un mail en ligne de commande, nous allons utiliser la commande mail.

Tout d'abord installer le paquet mailx si celui n'est pas présents sur votre serveur.

sudo apt-get install mailx

Ensuite nous allons rédiger le mail. Pour cela, tapez la commande suivante :

mail -s "Test mail" votre.adresse.mail@domaine.de.votre.fai

L'option -s permet de spécifier le sujet du mail (Attention pour les sujets de mail avec des espaces vous serez obligés de mettre des " sinon il ne le prendra pas en compte)

Ensuite un champ vide se présente, tapez ce que vous voulez (par exemple test mail)

Une fois que vous avez fini d'écrire le contenu du mail appuyer sur la touche Entrée et mettre un "point".

Le point doit se situer sur une ligne à part et il doit être le seul caractère sur la ligne (cela permet de délimiter la fin du mail). Comme ceci :

test mail
.

Ensuite le champ Cc: apparaît, vous pouvez le passer en appuyant sur la touche Entrés (ce champ permet de spécifier une autre adresse email et de la mettre en copie du mail que vous êtes en train de rédiger.

Et enfin normalement vous devriez retourner sur une ligne semblable à celle-ci:

ced@srv-ced:~$

Vous pouvez vérifier le bon envoi du mail en consultant les logs à l'aide de la commande :

cat /var/log/mail.log

Vous devriez avoir une ligne semblable à celle ci :

Feb 21 20:13:52 srv-ced sSMTP[29080]: Sent mail for srv-ced@ced-info.com
(221 OK) uid=1003 username=srv-ced outbytes=637

Si la valeur de la valeur outbytes est différente de celle-ci ce n'est pas grave elle correspond à la taille du mail envoyé.

Voilà, maintenant votre serveur peut envoyer des mails (ou plutôt les relayés) 🙂