2016年4月8日金曜日

postfixで送信メールを転送する

みなさん、こんにちは。


受信メールを転送する方法はよくみかけますが、送信メールを転送する設定はあまりポピュラーでないようです。

まぁ、自分の送ったメールが送信先メールアドレス以外にも送信されるのは、あまり好ましい状態とはいえませんから当然といえば当然でしょうね。

しかし、会社の代表メールアドレスにきたメールの自社担当者の返信内容を確認したいという要望も少なからずあるようです。
自社担当者が普通にCcすれば済むことだとは思うのですが・・・・・。


こういった処理をメールサーバ側で自動で行う場合はpostfixではsender_bcc_mapsを使用します。


main.cfに以下1行を追加

debian:/etc/postfix# vi main.cf
・・・・・・省略・・・・・・
sender_bcc_maps = hash:/etc/postfix/sender_bcc


続いてsender_bccを記述します。

debian:/etc/postfix# vi sender_bcc
info@hoge.jp hoge@hoge.jp


これは、info@hoge.jpのメールアドレスより発信されたメールをhoge@hoge.jpにBccでメールを転送します。


続いて、sender_bccをdb化して環境を再読み込みいたします。

debian:/etc/postfix# postmap /etc/postfix/sender_bcc
debian:/etc/postfix# /etc/init.d/postfix reload


これで、info@hoge.jpアドレスより発信されたメールは、自動的にhoge@hoge.jpアドレスにBccされるようになりました。


ここで問題が発生。
Bcc先のメールアドレスが外部ドメインの場合は問題ないのですが、ローカルアドレスの場合2通配送されてしまう現象が発生しました。

postfixのcontent_filterにてメールのウィルスチェックをしているのが原因でした。
postfix→amavis-new→postfixとなるため、Bccへの配送が2回行われてしまうようです。


debian:/etc/postfix# vi main.cf
・・・・・・省略・・・・・・
#amavis-new
content_filter = smtp-amavis:[127.0.0.1]:10024
receive_override_options=no_address_mappings

とmain.cfに、receive_override_options=no_address_mappingsを追加します。


master.cfにも記述が必要です。

debian:/etc/postfix# vi master.cf
・・・・・・省略・・・・・・
127.0.0.1:10025 inet n  -       y     -       -  smtpd
・・・・・・省略・・・・・・
 -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks

と、-o receive_override_options=no_header_body_checks,no_unknown_recipient_checksを追加します。


なお、master.cfのパラメータは複数行に記述できまずが、頭に空白(もしくはタブ)を入れないと続きと認識してくれないので要注意。


送信テストをしてみて、送信先メールアドレスならびにBcc先アドレスで同じメールが受信できていれば成功です。



ではでは~☆ミ

0 件のコメント:

コメントを投稿