
В файле правил есть команда, которая называется 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.
Если вы используете if
и elsif
можете избежать этой проблемы.