状況: 約 10 台の仮想マシン (Linux) で postfix を実行し、複数のユーザーに電子メールを送信します。これらの電子メールはすべて中央サーバーを経由して中継され、インターネットに送信されます。
仮想マシンの名前は、redmine.vanheusden.local や scm.vanheusden.local などになります。
中央 Postfix サーバーが、インターネットに配信する前に中継するすべての電子メールの *@vanheusden.local の名前を @vanheusden.com に変更することを希望します。
masquerade_domains を使用できると思いましたが、どうやらこれは (もう) 機能しないようです。
masquerade_domains = vanheusden.com
local_header_rewrite_clients = static:all
masquerade_classes = envelope_sender, envelope_recipient, header_sender, header_recipient
答え1
残念ながら、このユースケースでは masquerade_domains を使用することはできません。
masquerade_domains を使用すると、電子メール アドレスのドメイン名を削除することができます。
例:
/etc/postfix/main.cf:
masquerade_domains = foo.example.com example.com
strips "any.thing.foo.example.com" to "foo.example.com", but strips "any.thing.else.example.com" to "example.com".
ソース:http://www.postfix.org/ADDRESS_REWRITING_README.html#masquerade
代わりに、汎用マッピングを使用する必要があります。これにより、アドレスを必要に応じて完全に書き換えることができます。
例:
/etc/postfix/main.cf:
smtp_generic_maps = hash:/etc/postfix/generic
/etc/postfix/generic:
@vanheusden.local @vanheusden.com
ソース:http://www.postfix.org/ADDRESS_REWRITING_README.html#generic