中継されるメッセージごとに .local ドメインを .com に名前変更する

中継されるメッセージごとに .local ドメインを .com に名前変更する

状況: 約 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

関連情報