Je suis tombé sur une situation dans Postfix où il semble que ma configuration soit ignorée. J'ai un réseau domestique où les machines sont nommées hostname.fakedomain, et un hôte de messagerie en colocation avec un vrai domaine example.com. Sur mon ordinateur personnel, Postfix est configuré pour réécrire les adresses d'enveloppe afin d'utiliser le vrai domaine exemple.com, mais pour conserver les en-têtes tels quels. Je garde cette configuration parce que je veux que le courrier soit distribué à mon serveur de courrier colo, mais j'aime préserver les en-têtes afin de pouvoir voir d'un coup d'œil quelle machine de mon réseau domestique a envoyé quel courrier.
Détails pertinents :
-
Arch Linux
-
Postfix 2.7.2
-
/etc/postfix/canonical :
@hostname.fakedomain postmaster@example.com
-
"postconf -n" (sortie partielle) :
alias\_database = $alias\_maps alias\_maps = hash:/etc/postfix/aliases canonical\_classes = envelope\_sender, envelope\_recipient canonical\_maps = hash:/etc/postfix/canonical mydestination = myhostname = hostname.fakedomain relay\_domains = relayhost = example.com
Normalement, cela fonctionne très bien : le courrier local sur mon bureau est remis au compte postmaster sur mon serveur de messagerie, mais les en-têtes ne sont pas réécrits. Cependant, si le courrier fourni au binaire sendmail n'a pas d'en-tête From :, alors l'en-tête est réécrit de la manière suivante From: root <postmaster@example.com>
. Puisque canonical_classes n'inclut pas "header_sender", cela ne semble pas devoir se produire. Ce que je pensais qu'il se produirait, c'est que Postfix ajouterait From: root@hostname.fakedomain
. Je sais également que cela est dû à la carte canonique, car si je change l'adresse en "otheraddress@example.com", les en-têtes changent également.
Une solution possible serait de faire passer la sortie de chaque entrée de cron par /bin/mail, mais je préférerais une correction de la configuration de Postfix, de sorte que cela fonctionne pour tout courrier auquel il manque un en-tête From :, plutôt que pour le seul courrier de cron.
S'agit-il d'un bogue dans Postfix, ou est-ce que je comprends mal comment canonical_classes devrait fonctionner dans cette situation ?