Postfix : configurer d’un relai de messagerie (MTA) sur Ubuntu

Dans ce tutoriel, je vais vous expliquer comment installer (c’est le plus facile) et configurer Postfix sur Ubuntu en tant que relai de messagerie pour envoyer des emails depuis des applications, équipements (copieur, switch …).

Ce type de serveur est souvent utilisé en entreprise pour envoyer des emails depuis différents équipements et logiciels, même si vous avez une solution de messagerie interne type Exchange, je vous conseille la mise à place d’un relai tier pour l’envoie de message.

On va mettre en place un serveur MTA (Mail Transfert Agent).

Installation de Postfix sur Ubuntu

Cette partie est assez simple, depuis un terminal entrer la commande suivante :

sudo apt install postfix
Install Postfix

Confirmer l’installation de Postfix :

Lors de l’installation un assistant vous demande pour quel utilisation Postfix doit être configuré, laisser Site Internet et valider <Ok>.

Postfix configuration

L’assistant vous demande également d’indiquer le nom FQDN du serveur.

Patienter pendant l’installation de Postfix …

Postfix est installé, nous allons maintenant passer à la configuration de celui-ci.

Configuration de Postfix

On va maintenant passer à la configuration de Postfix.

Les fichiers de configuration se trouve à l’emplacement suivant : /etc/postfix

Le fichier qui nous intéresse pour le moment est le fichier main.cf qui contient les éléments de configuration.

main.cf - postfix

Le premier élément que l’on va configurer, c’est le paramètre mynetworks, par défaut Postfix n’autorise l’accès à son service que sur les adresses local (127.0.0.0).

Commenter la ligne actuelle mynetworks :

#mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

Ajouter en dessous cette ligne :

mynetworks = 0.0.0.0/0

Redémarrer le service Postftix :

sudo systemctl restart postfix

Le serveur postfix est maintenant opérationnel, pour le moment les emails seront transférés en utilisant les enregistrements DNS MX.

On va maintenant voir différents éléments de configuration de postfix que l’on peut retrouver en entreprise.

Transfert les email à un serveur relai

Si vous avez déjà un relai de messagerie et que vous souhaitez transférer les messafges à ce relai, il faut indiquer l’adresse IP du relai ou le nom DNS dans le paramètre relayhost.

Ouvrir le fichier /etc/postfix/main.cf.

Rechercher :

relayhost =

Indiquer ici l’adresse du relai :

relayhost = relay-smtp.dom.com

Redémarrer le service Postftix :

sudo systemctl restart postfix

Transfert en fonction du domaine

Ici on va voir comment transférer en fonction du domaine du destinataire à un serveur de messagerie et sinon envoyer à un autre relai qui serait pas exemple en DMZ.

Pour illustrer la configuration voici le schéma :

Les messages pour le domaine corp-a.com doivent être envoyer au serveur Exchange 192.168.100.10 et les message pour le domaine corp-b.io sont envoyés aux serveurs Exchange 192.168.100.20 ou 192.168.100.21. Tous les autres messages sont envoyer à la MTA en DMZ 192.168.200.3 pour être envoyer sur Internet.

Pour cela on va utiliser une carte de transport (transport_map).

Ouvrir le fichier de configuration : /etc/postfix/main.cf

Avant : # TLS parameters

Ajouter :

# Transport
transport_maps = hash:/etc/postfix/transport

Dans le dossier /etc/postfix, créer le un fichier nommer transport.

Ouvrir le fichier transport et coller le contenu ci-dessous :

corp-a.com    smtp:192.168.100.10
corp-b.io         smtp:192.168.100.20, 192.168.100.21
*                           relay:[192.168.200.3]:25

La configuration du fichier transport doit être adapté à votre environnement.

Construire l’index de transport pour Postfix :

sudo postmap /etc/postfix/transport

Redémarrer Postfix :

sudo systemctl restart postfix

Maintenant postfix routera les messages en fonction du domaine vers le serveur configuré sinon il sera envoyé à un autre relai.

Si vous souhaitez envoyer directement depuis Postfix remplacer :

*                           relay:[192.168.200.3]:25

Par :

*                           smtp

Dans le cas de l’utilisation de transport_maps, il est conseillé de na pas configurer le paramètre relayhost, c est à dire de le laisser vide.

Après chaque modification du fichier transport, il faut reconstruire l’index avec la commande sudo postmap /etc/postfix/transport et redémarrer le service Posfix.

Dépannage de Postfix

Pour vérifier le bon fonctionnement, vous trouverez les logs dans le fichier : /var/log/mail.log

Pour afficher la liste des messages en attentes : sudo mailq

Pour purger la file d’attente : sudo postqueue -f


Quelques liens sur Postfix pour aller plus loin si vous le souhaitez :




Laisser un commentaire