Red Hat et dérivées version SERVEUR

CentOS 7 : Installer et configurer un relais SMTP avec Postfix

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières



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