Postfixのsender_canonical_mapsでヘッダを書きかえてくれない

sender_canonical_mapsを設定したけど、エンベロープFromは書きかわってもヘッダFromが書きかわらない!という場合がある。sender_canonical_classes にもちゃんと header_sender が含まれている(デフォルト)のに書きかわらない。

結論から言うと、local_header_rewrite_clients の設定を見直す必要がある。

デフォルトでは

local_header_rewrite_clients = permit_inet_interfaces

となっていて、サーバのローカルから送信されたメールのみ、ヘッダも書きかえるという動作をする。つまり、メールハブでいくらsender_canonical_mapsを設定しても、他サーバから送信されたメールのFromは書きかえてくれないのだ。

管理しているドメイン(ローカルネットワーク)内のどのクライアント・サーバから送られたメールでもFromヘッダを書きかえ対象としたい場合、管理対象ドメインのIPアドレスをmynetworksに列挙した上で

local_header_rewrite_clients = permit_mynetworks

とする必要がある。

参考: