CentOS 7 : Installer et configurer un relais SMTP avec Postfix
Table des matières
Cet article explique, comment en 5 minutes, il est possible de monter un serveur relais SMTP.
Ainsi, les applications installées sur ce serveur pourront envoyer des mails en les relayant vers le SMTP du fournisseur d'accès.
Pour cela, il faut installer postfix (est l'agent de transfert de courriel appelé parfois MTA) mais aussi mailx (heirloom-mailx) qui fournit la commande d'envoi de mail (pour tester)
On active ensuite le service postfix au démarrage :
Le fichier de configuration de postfix est /etc/postfix/main.cf. On l'édite avec notre éditeur favori :
Modifier ses valeurs dans le fichier (ou les décommenter) :
Après modification et enregistrement du fichier de configuration, on relance le service postfix :
Pour envoyer un message sur un SMTP demandant l'authentification :
Ajouter ces lignes :
Créer le fichier /etc/postfix/sasl_passwd
Renseigner ce fichier de cette manière :
Il faut mettre le même SMTP que le relayhost.
Générer ensuite le fichier db avec la commande postmap :
Puis relancer postfix :
Il sera peut être nécessaire d'installer quelques outils en plus pour gérer le chiffrement :
On peut tester la configuration via la commande mail.
Voici un exemple :
Si le mail ne parvient pas à destination, vérifier dans les pourriels (courriers indésirables).
Sinon, le fichier de log peut être utile : /var/log/maillog
Pour afficher son contenu en temps réel :
Introduction
Cet article explique, comment en 5 minutes, il est possible de monter un serveur relais SMTP.
Ainsi, les applications installées sur ce serveur pourront envoyer des mails en les relayant vers le SMTP du fournisseur d'accès.
Installation
Pour cela, il faut installer postfix (est l'agent de transfert de courriel appelé parfois MTA) mais aussi mailx (heirloom-mailx) qui fournit la commande d'envoi de mail (pour tester)
Copier vers le presse-papierCode BASH :
yum install postfix mailx
On active ensuite le service postfix au démarrage :
Copier vers le presse-papierCode BASH :
systemctl enable postfix
Configuration
Le fichier de configuration de postfix est /etc/postfix/main.cf. On l'édite avec notre éditeur favori :
Copier vers le presse-papierCode BASH :
vi /etc/postfix/main.cf
Modifier ses valeurs dans le fichier (ou les décommenter) :
Copier vers le presse-papierCode BASH :
myhostname = serveur myorigin = domaine.fr mydomain = domaine.fr mynetworks = 127.0.0.0/8 inet_interfaces = all mydestination = relayhost = smtp.fai.fr
Après modification et enregistrement du fichier de configuration, on relance le service postfix :
Copier vers le presse-papierCode BASH :
systemctl restart postfix
Configuration de l'envoi avec authentification
Pour envoyer un message sur un SMTP demandant l'authentification :
Copier vers le presse-papierCode BASH :
vi /etc/postfix/main.cf
Ajouter ces lignes :
Copier vers le presse-papierCode BASH :
smtp_sasl_auth_enable = yes smtpd_sasl_auth_enable = yes smtp_sasl_security_options = noanonymous smtp_sasl_tls_security_options = noanonymous smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_use_tls = yes smtp_tls_note_starttls_offer = yes smtp_sasl_mechanism_filter = login, plain
Créer le fichier /etc/postfix/sasl_passwd
Copier vers le presse-papierCode BASH :
vi /etc/postfix/sasl_passwd
Renseigner ce fichier de cette manière :
Copier vers le presse-papierCode BASH :
smtp.fai.fr email@fai.fr:supermotdepasse
Il faut mettre le même SMTP que le relayhost.
Générer ensuite le fichier db avec la commande postmap :
Copier vers le presse-papierCode BASH :
postmap /etc/postfix/sasl_passwd
Puis relancer postfix :
Copier vers le presse-papierCode BASH :
systemctl restart postfix
Il sera peut être nécessaire d'installer quelques outils en plus pour gérer le chiffrement :
Copier vers le presse-papierCode BASH :
yum install cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain
Test de la configuration
On peut tester la configuration via la commande mail.
Voici un exemple :
Copier vers le presse-papierCode BASH :
echo "Test de message" | mail -s "Essai Postfix" moi@domaine.fr
Débogage
Si le mail ne parvient pas à destination, vérifier dans les pourriels (courriers indésirables).
Sinon, le fichier de log peut être utile : /var/log/maillog
Pour afficher son contenu en temps réel :
Copier vers le presse-papierCode BASH :
tailf /var/log/maillog