私はあなたの質問を書き直します:
smtpd(ポート25)と送信(ポート587)に異なる_header_checksを使用するにはどうすればよいですか?
この標準的な問題は、いくつかの条件で分割できます
- smtpdまたはsubmitのいずれかでheader_checksをオフにします。
- smtpdと送信で異なるheader_checksを実行したい。
1. smtpdまたはsubmitのいずれかで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
することによって行ったクリーンアップサービス。この設定の例は、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
2. smtpdと送信で異なるheader_checksを実行したい。
この問題については、上記の複数のクリーンアップサービスメソッドを使用できます。
まず、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
。