Postfix でメールの envelope recipient を書き換える

メールのエンベロープ受信者というのですか、SMTP の RCPT TO: を書き換えて、MUAで表示したときのヘッダに記述された宛先情報などはオリジナルのまま別アドレスに転送したい件。

先日の日記、メールサーバで宛先アドレスを書き換えたい にて recipient_canonical_maps での設定だとエンベロープ受信者とヘッダの受信者まで書き換えられてしまうという動きをして困っていました。

で。この recipient_canonical_maps をやめて、かわりに virtual_alias_maps を使うとすんなり解決しました。/etc/postfix.main.cf に以下のように記述

 

virtual_alias_maps = regexp:/etc/postfix/recipient_canonical.regexp

 

/etc/postfix/recipient_canonical.regexp ファイルを作成して、中身には書き換え元と書き換え先の対応を書けばヨシ。今回、全部のメールを根こそぎ吸い上げたかったのでこんな感じ。

 

/.+/	debugmail@example.com

 

そして Postfix 再起動してできあがり。もう何が来ても全部 debugmail@example.com に送信します。べんり。

あと、いくつも NIC があって、訳あってルーティングしていない場合、smtp の送信元IPアドレスを指定したいことがある。この場合は main.cf に以下を記述。

 

smtp_bind_address = IP Address

 

192.168.0.1 と 10.0.0.1 のインタフェースを持っていて、smtp 送信するときは必ず 192.168.0.1 から送信したいという場合は

 

smtp_bind_address = 192.168.0.1

 

と書いておけば良い。なるほど。