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)
Code BASH :
yum install postfix mailx

On active ensuite le service postfix au démarrage :
Code BASH :
systemctl enable postfix


Configuration



Le fichier de configuration de postfix est /etc/postfix/main.cf. On l'édite avec notre éditeur favori :
Code BASH :
vi /etc/postfix/main.cf

Modifier ses valeurs dans le fichier (ou les décommenter) :
Code 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 :
Code BASH :
systemctl restart postfix

Configuration de l'envoi avec authentification



Pour envoyer un message sur un SMTP demandant l'authentification :
Code BASH :
vi /etc/postfix/main.cf

Ajouter ces lignes :
Code 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
Code BASH :
vi /etc/postfix/sasl_passwd

Renseigner ce fichier de cette manière :
Code 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 :
Code BASH :
postmap /etc/postfix/sasl_passwd

Puis relancer postfix :
Code BASH :
systemctl restart postfix


Test de la configuration



On peut tester la configuration via la commande mail.
Voici un exemple :
Code 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 :
Code BASH :
tailf /var/log/maillog