Postfix en multiple instance.

2016oct.04

Activer plusieurs instances Postfix sous Linux

Si votre serveur dédiée dispose de plusieurs adresses IP public et que vous souhaitez dispatcher les envois de mails sur ces différentes adresses (dans le cas de l’hébergement mutualisé par exemple), vous avez la possibilité sur votre serveur Linux de lancer plusieurs instances Postfix simultanément.

Pour cela, sous Linux Debian par exemple, rien de plus simple :

postmulti -e init
postmulti -I postfix-[NOM_INSTANCE] -G mta -e create

Pour spécifier une adresse IP de sortie de votre postfix, éditer le fichier /etc/postfix-[NOM_INSTANCE]/main.cf et ajouter la ligne ci-dessous :

smtp_bind_address = 87.98.XXX?=.XX

Enfin, pour activer votre nouvelle instance, vérifier la présence des lignes ci-dessous dans le fichier main.cf :

multi_instance_enable = yes
alternate_config_directories = /etc/postfix-[NOM_INSTANCE]/

Enfin, relancer postfix et le tour est joué :

/etc/init.d/postfix restart

Modifier la configuration de sendmail pour PHP

Une fois les instances postfix créées, il est maintenant intéressant de les faire utiliser par vos sites web, pour cela, il suffit de modifier la configuration du paramètre sendmail dans le Vhost Apache avec la ligne suivante :

php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -C /etc/postfix-[NOM_INSTANCE]/"

Redémarrer Apache et le tour est joué, votre site utilisera désormais une interface postfix dédiée pour l’envoi de ses mails via sendmail. Si votre site utilise une connexion smtp pour l’envoi des mails, pensez à modifier la configuration afin d’utiliser le bon serveur SMTP.

Commentaires

Pierre

Merci pour le tuto : simple et efficace !

Est ce que c'est possible d'utiliser cette méthode pour créer plusieurs utilisateurs SMTP pour que chaque utilisateur d'un CRM puisse avoir un SMTP et une IP dédiée ? Si oui, tu te connectes comment et comment gérer les DNS ?

2019janv.04

Clément

Effectivement, cela est intéressant pour pouvoir gérer la réputation IP de chaque utilisateur et pouvoir séparer clairement les flux de chacun. Pour le pointage DNS, je pense qu'il suffit de faire pointer par exemple smtp-client1.FQDN vers l'adresse IP gérée par postfix, mais je n'ai pas essayé !

2019janv.05