PostfixとDovecotを実行しているメールサーバー(CentOS 6.5)があります。
Postfixはポート25で受信メールをリッスンし、587を送信メールでリッスンしています
問題は、PDF添付ファイル付きのアウトバウンドメールがブロックされており、PDF添付ファイル付きのインバウンドメールのみがブロックされていることです。
Main.cfにこの構成行があります
mime_header_checks = regexp:/etc/postfix/blocked_attachments
Blocked_attachmentsファイルには以下が含まれます。
/name=[^>]*\.(pdf|Zip)/ REJECT
したがって、PDF添付ファイル付きの受信メールは正しくブロックされますが、PDF.
受信した添付ファイルのみをフィルタリングするようにpostfixに指示するにはどうすればよいですか?それとも私は何かを逃したのですか?
私はあなたの質問を書き直します:
smtpd(ポート25)と送信(ポート587)に異なる_header_checksを使用するにはどうすればよいですか?
この標準的な問題は、いくつかの条件で分割できます
この例では、送信(送信メール)のheader_checksをオフにすることを想定しています。
ソリューション1:receive_override_optionsメソッド
receive_override_options と呼ばれるpostfixパラメータを使用できます。パラメーターを使用すると、グローバルheader_checkスイッチをオーバーライドできるため、フィルターは実行されません。 #main.cf header_checks = pcre:/ path/to/header_checks
#master.cf
submission inet n - n - - smtpd
-o receive_override_options=no_header_body_checks
警告: man 5 header_checks で定義されているすべての_header_checksとbody_checksがオフになります。オフにするパラメーターの完全な制御については、ソリューション2を参照してください。
ソリューション2:複数のクリーンアップサービスメソッド
*_header_checks
は cleanup サービスによって実行されたため、問題に対してmultiple-cleanup-serviceテクニックを使用できます。この設定の例は amavisd-new tutorial で確認できます。
この構成の魔法のパラメーターは cleanup_service_name です。このパラメーターを使用すると、smtpdプロセスごとに異なるクリーンアップサービスを使用できます。最初に、master.cfに追加のクリーンアップサービス(no-headerchecksと呼ばれる)を定義します。
no-headerchecks unix n - n - 0 cleanup
-o mime_header_checks=
このクリーンアップでは、空のmime_header_checksを定義してフィルタリングを無効にします。最後のステップは、提出サービスにヘッダーなしチェックを使用するように伝えることです
submission inet n - n - - smtpd
-o cleanup_service_name=no-headerchecks
この問題については、上記のように複数のクリーンアップサービスメソッドを使用できます。
まず、master.cfに追加のクリーンアップサービス(second-headerchecksと呼ばれる)を1つ定義します
second-headerchecks unix n - n - 0 cleanup
-o mime_header_checks=pcre:/path/to/2ndheaderchecks
このクリーンアップでは、2番目のmime_header_checksを他のPCREテーブルに定義します。最後のステップは、提出サービスに2番目のヘッダーチェックを使用するように伝えることです
submission inet n - n - - smtpd
-o cleanup_service_name=second-headerchecks
注意:
あなたのケースは この質問 と似ています。残念ながら Laurentiu Roescuからの回答 は、トランスポートとしてsmtpを使用する送信メールのheader_checksを有効にする場合にのみ機能します。良いニュースは、cleanup
デーモンに関する彼の最初の文が2番目の解決策についてのアイデアを与えてくれることです。
異なるheader_checks、body_checks、およびman 5 header_checks
で定義されたその他のパラメーターが必要な場合は、複数のクリーンアップサービスメソッドを適用できます。