Was bewirkt der Befehl „Stopp“ im Dovecot-Sieb?

Was bewirkt der Befehl „Stopp“ im Dovecot-Sieb?

In der Regeldatei gibt es einen Befehl namens stop, der die Verarbeitung stoppt. Ich bin mir jedoch nicht sicher, warum das nötig ist. Wenn es der letzte Befehl in einer Liste von Anweisungen innerhalb einer Regel ist, ist die Regel dann nicht bereits fertig verarbeitet? Oder bedeutet es, dass nicht zur nächsten Regel in der Liste gesprungen werden soll? Mit anderen Worten, nehmen wir an, meine Sieve-Datei hat eine Liste von Regeln:

Rule A
Rule B
Rule C
Rule D

Wenn Regel B stopam Ende einen Befehl hat, werden dann die Regeln C und D übersprungen? Und ich gehe davon aus, dass die Regeln in der Reihenfolge ausgeführt werden, in der sie in der Sieve-Datei erscheinen?

Antwort1

Ja, wenn Regel B den stopBefehl am Ende enthält, werden die Regeln C und D übersprungen.

Die Aktion „Stopp“ beendet alle Verarbeitungen. Wenn das implizite Keep nicht abgebrochen wurde, wird es ausgeführt.
RFC 5228 Abschnitt 3.3 „Kontrollstopp“


Dies ist nützlich, wenn Sie Spam erkennen und eine Abwesenheitsnachricht oder bestimmte fileintoRegeln verwenden. Sie können discardden Spam als Antwort markieren, stopwodurch alle folgenden Regeln übersprungen werden, was bedeutet, dass Sie nicht über Ihre Abwesenheitsregel antworten und die E-Mails nicht über Fileinto-Regeln in ein anderes Postfach verschoben werden.

Wenn Sie verwenden if, elsifkönnen Sie dieses Problem vermeiden.

verwandte Informationen