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
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>.
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.
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ètrerelayhost
, 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 :