Installer un serveur mail Linux (ssmtp)

Il peut être intéressant pour monitorer ses services et serveurs de recevoir des rapports par mailmail.

Pour cela nous avons donc besoin d’un petit serveur mail qui, une fois paramétré, se servira d’une de vos adresse mail existante (gmail/yahoo etc…) afin d’envoyer vos rapports issue de vos tâches cron ou de vos services de monitoring.

Il existe plusieurs applications pour effectuer cela. L’une d’entre elle en ligne de commande est SSMTP. Son avantage est d’être très simple à paramétrer et surtout très légère.

 

Installation

 

sudo apt-get update
sudo apt-get install ssmtp

 

Configuration

Deux fichiers sont à configurer afin de faire fonctionner correctement ssmtp.

  • /etc/ssmtp/ssmtp.conf
  • /etc/ssmtp/revaliases

L’exemple pris pour la suite de l’explication fonctionne pour utiliser gmail avec le service ssmtp.

 

  • /etc/ssmtp/ssmtp.conf

 

1/ Configurer mailhub

# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.gmail.com:587

smtp.gmail.com indique l’adresse de communication avec le serveur mail gmail via le protocole smtp (qui nécessite le port 25)

587 indique le port utilisé par votre fournisseur de boite mail. Renseignez vous auprès de lui pour savoir quel port il utilise.

Google utilise deux port spécifique. le 465 et le 587.

Pour que tout fonctionne correctement il faudra évidemment autoriser tout ces ports (le 25, 465, 587) à communiquer à travers le firewall de votre machine : voir article iptables

 

2/ Configurer rewriteDomain

Ceci indique à ssmtp que l’entête de votre courriel doit être modifiée afin que le nom de domaine soit répertorié comme source de votre adresse de courriel. Pour que tout fonctionne bien indiquez le nom de domaine de votre fournisseur. Par défaut vous pouvez laisser cette valeur vide.

# Where will the mail seem to come from?
rewriteDomain=gmail.com

 

3/ Configurer hostname

le hostname doit indiquer le nom de la machine utilisée pour envoyer les mail. Par exemple ici pour ma machine de cloud perso qui s’appelle « claude » :

# The full hostname
hostname=claude

Par défaut vous pouvez néanmoins laisser cette valeur vide.

4/ Configurer réécritures et identifiants.

# 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

UseSTARTTLS=YES
FromLineOverride=YES
AuthUser=login_gmail
AuthPass=password_gmail

 

 

second fichier à configurer : /etc/ssmtp/revaliases.

  • /etc/ssmtp/revaliases

 

Ce fichier va spécifier quel compte mail est utilisé avec quel utilisateur de la machine.

Par exemple ici l’utilisateur root va utiliser le compte coco@gmail.com.

Vous pouvez ajouter autant de lignes que vous souhaitez d’utilisateur liés à votre compte.

 

# sSMTP aliases
#
# Format: local_account:outgoing_address:mailhub
#
# Example: root:your_login@your.domain:mailhub.your.domain[:port]
# where [:port] is an optional port number that defaults to 25.
root:coco@gmail.com:smtp.gmail.com:587
# Other System user: (for Apache)
# www-data:votre_identifiant@fournisseur.com:mail.fournisseur.com:587

 

Utilisations

Pour tester l’envoi de mail vous pouvez utiliser par exemple mailutils.

sudo apt-get install mailutils

puis envoyer un mail :

echo Ce que vous voulez dire | mail -s "sujet du mail" machin-truc@example.com

 

ssmtp va alors utiliser votre adresse mail précédemment configurée avec gmail en tant qu’utilisateur root pour envoyer un mail à Mr ou Mme « machin-truc@example.com ».

Vous pourrez par la suite paramétrer vos différents services et applications (fail2ban, php, etc..) pour qu’elles utilisent cette nouvelle fonction d’envoie de mail.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Show Buttons
Hide Buttons