dovecot sieve の「stop」コマンドは何をしますか?

dovecot sieve の「stop」コマンドは何をしますか?

ルール ファイルには、処理を停止する というコマンドがありますstop。ただし、なぜこれが必要なのかはわかりません。ルール内のディレクティブ リストの最後のコマンドである場合、ルールの処理はすでに完了しているのではないでしょうか。それとも、リスト内の次のルールにスキップしないという意味でしょうか。言い換えると、私の sieve ファイルにルールのリストがあるとします。

Rule A
Rule B
Rule C
Rule D

ルール B のstop最後にコマンドがある場合、ルール C と D はスキップされますか? また、ルールは sieve ファイルに表示されている順序で実行されると想定していますか?

答え1

はい、ルール B のstop最後にコマンドが含まれている場合、ルール C と D はスキップされます。

「停止」アクションはすべての処理を終了します。暗黙的な保持がキャンセルされていない場合は、それが実行されます
。—RFC 5228 セクション 3.3「制御停止」


これは、スパムを検出し、不在通知メッセージや何らかのfileintoルールを使用する場合に便利です。discardに続いてスパムを送信することで、stop後続のすべてのルールをスキップできます。つまり、不在通知ルールによってスパムに返信することはなく、fileinto ルールによってスパムが別のメールボックスに送られることもありません。

を使用している場合はifelsifこの問題を回避できます。

関連情報