標準的な解決策は、header_checksオプションを使用することです。これは機能しますが、着信と発信の両方ですべてのメールの受信行をフィルタリングすると(これにより)、送信されたメールのReceivedヘッダーが失われる可能性があります。これはトラブルシューティングに重要です。この問題を回避するために、我々は、適用されるheader_checks
だけで、おそらくに送られた私たちにメールを送ってきたことができなかったメールに提出ポート(あなたがしている使用してサブミッションポートを、あなたではありません?)。
この投稿ではheader_checks
、提出ポートにのみ適用する方法について説明します。私たちがしなければならないことは合格ですcleanup_service_nameのにオプションを提出我々は新しいクリーンアップサービス、設定することができるようサービス「subcleanupを。」の関連セクションは次の/etc/postfix/master.cf
ようになります。
submission inet n - - - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
-o cleanup_service_name=subcleanup
これで、header_checks
オプションを新しいクリーンアップサービスに渡すことができます。のその部分は次の/etc/postfix/master.cf
ようになります。
cleanup unix n - - - 0 cleanup
subcleanup unix n - - - 0 cleanup
-o header_checks=regexp:/etc/postfix/submission_header_checks
最後に、/etc/postfix/submission_header_checks
問題のあるReceivedヘッダー行をフィルタリングする正規表現を含むファイルを作成する必要があります。ファイルに入れる正規表現は、smtpd_sasl_authenticated_header
設定したかどうかによって異なります。
場合smtpd_sasl_authenticated_header
でyes
は、使用します。
/^Received:.*\(Authenticated sender:/ IGNORE
それ以外の場合は、次を使用します。
/^Received:.*\(Postfix/ IGNORE
(2番目のケースの処理方法を示してくれたDominic PとBryan Dreweryに感謝します。)
postmap submission_header_checks
か?