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 :
Par défaut, l'expéditeur est le nom du compte UNIX suivi de @domaine.fr
Pour réécrire l'expéditeur, on va ajouter dans /etc/postfix/main.cf cette ligne :
Ecrire sous la forme suivante :
Ensuite, on génère la base HASH avec
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)
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
Il sera peut être nécessaire d'installer quelques outils en plus pour gérer le chiffrement :
Code BASH :
yum install cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain
Réécrire l'expéditeur
Par défaut, l'expéditeur est le nom du compte UNIX suivi de @domaine.fr
Pour réécrire l'expéditeur, on va ajouter dans /etc/postfix/main.cf cette ligne :
Code BASH :
sender_canonical_maps = hash:/etc/postfix/canonical_sender_address
Ecrire sous la forme suivante :
Code BASH :
unix@domaine.fr cequonveut@domaine.fr
Ensuite, on génère la base HASH avec
Code BASH :
postmap hash:/etc/postfix/canonical_sender_address
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