受信メールと送信メールをフィルター処理するために、キュー コンテンツ フィルターの後に Postfix を使用しています。Postfix は、SMTP を使用して各メールをコンテンツ フィルタに挿入します。次に、コンテンツ フィルタがメールをスキャンし、次のようにメッセージを postfix に再挿入します。
http://www.postfix.org/FILTER_README.html#advanced_filter
私の master.cf ファイルは次のようになります。
## After Queue Content Filter
filter unix - - n - 10 smtp
-o smtp_send_xforward_command=yes
-o disable_mime_output_conversion=yes
-o smtp_generic_maps=
-o myhostname=sample.hostname.com
## Re-injection listener
reinject unix n - n - 10 smtpd
-o content_filter=
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks,no_milters
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o smtpd_authorized_xforward_hosts=127.0.0.0/8
今、これは期待どおりに機能し、すべてがうまくいっているようです....例外..電子メールがSMTP認証を使用して送信されたかどうかを知る必要があります。ここで、smtp_send_xforward_command=yes を使用すると、リモート送信者に関する多くの情報が得られますが、電子メールが認証されているかどうかについては何もわかりません。電子メールが認証されたユーザーによって送信されたかどうか、また送信された場合はどのユーザーかを Postfix に通知させる方法はありますか?