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.
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
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
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
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)