web-dev-qa-db-ja.com

Postfixがキュー前のmilterスクリプトをトリガーしない

新しいメールがPostfixbefore-queueによって受け入れられたときにmilterをトリガーすることができません。明らかに、私は適切に何かをしていませんが、私は何を理解することができません。

私は次のセットアップをしています:Ubuntu Server、Postfix2.11。

Postfixサービスは機能しており、ローカルアカウントへのメールを適切に受信します。

スクリプト/tmp/milter.sh(所有者:me、グループ:me、権限:rwx-rwx-rx)は、実行されるたびに文字列をログに記録します。ターミナルでユーザーmeの下で起動すると、正しく動作します。

/etc/postfix/master.cf、 私が持っています:

smtp      inet  n       -       -       -       -       smtpd
   -o content_filter=mymilter

...

mymilter    unix  -       n       n       -       -       pipe
  flags=F user=me argv=/tmp/milter.sh

新しい構成はによってロードされます

Sudo postfix reload
1
user151851

キューフィルターの前後で、Milterについて混乱しているようです。これらの3つのアイテムは互いに異なっていました。 Postfix Milterサポートキューフィルターの前 および キューフィルターの後 に関するドキュメントを読むことをお勧めします。

パラメータcontent_filterは、AFTER-QUEUEコンテンツフィルタを実行することを示しています。このパラメータについてのスニペット Postfixドキュメント

メッセージがキューに入れられた後、メッセージ全体を指定されたtransport:destinationに送信します。 transport名は、master.cfのメール配信エージェント定義の最初のフィールドを指定します。 ネクストホップ宛先の構文は、対応する配信エージェントのマニュアルページに記載されています。外部コンテンツフィルターの詳細については、Postfix FILTER_README ファイルを参照してください。

また、なぜ機能しないのかについての質問は、メールログを確認してください。パラメータcontent_filterにmymilterだけを追加する代わりにmymilter:dummyを追加する必要があると思います。 t 彼の公式ドキュメント の例を参照してください。

最後に、master.cfを変更する場合は、postfix stop; postfix startを使用してpostfixに設定を読み取らせることをお勧めします。

1
masegaloeh