Publié le: 2013-08-19

Postfix rewrite sender destination

Postfix permet de réécrire les émetteurs et destinataires d’un mail. Cette fonction est extrêmement pratique si vous avez un domaine local pour vos envois de mails (comme des serveurs qui envoient les mails avec leur nom).

Cette fonction utilise les canonical maps. Celles-ci peuvent être appliqués en émission, en réception ou les deux.

Voyons comment opérer au moyen de 3 exemples simples.

Changement d’émetteur

Admettons que vous avez un utilisateur root@monserveur.lan. Pour passer certains SMTP ce mail devra être valide, or votre TLD est local. Nous allons réécrire l’adresse avec une canonical map afin de la faire apparaître en tant que root-serveur@example.org

Ajoutez la ligne suivante dans votre fichier /etc/postfix/main.cf

sender_canonical_maps = hash:/etc/postfix/sender_canonical

Insérez la ligne suivante dans le fichier /etc/postfix/sender_canonical.

root@monserveur.lan root-serveur@example.org

Enfin rechargez la map.

postmap /etc/postfix/sender_canonical

Changement de destinataire

Vous souhaitez que les messages adressés à hostmaster@dns1.example.org soient adressés à dns-master@example.org. Nous allons créer une canonical map pour cela.

Ajoutez la ligne suivante dans /etc/postfix/main.cf

recipient_canonical_maps = hash:/etc/postfix/recipient_canonical

Insérez la ligne suivante dans le fichier /etc/postfix/recipient_canonical:

hostmaster@dns1.example.org dns-master@example.org

Enfin rechargez la map.

postmap /etc/postfix/recipient_canonical

Changer un nom de domaine

Dans certains cas il peut être pratique de réécrire toutes les adresses d’un nom de domaine donné.

On va créer une canonical map générique (envoi + réception) afin de remplacer domain.lan par example.org.

Ajoutez la ligne suivante dans /etc/postfix/main.cf

canonical_maps = hash:/etc/postfix/canonical

Insérez la ligne suivante dans le fichier /etc/postfix/canonical:

@domain.lan @example.org

Enfin régénérez la map.

postmap /etc/postfix/canonical

Conclusion

Vous savez désormais réécrire des adresses passant par votre relai. Notez néanmoins que ceci ne s’applique qu’aux prochains mails passant par votre relai. Il faudra rejouer la queue si vous souhaitez que votre modification s’applique sur la queue en cours (postsuper -r ALL)