В файле правил есть команда под названием stop
, что останавливает обработку. Я не уверен, зачем это нужно. Если это последняя команда в списке директив внутри правила, то разве это правило еще не обработано? Или это значит не переходить к следующему правилу в списке? Другими словами, скажем, в моем файле сита есть список правил:
Rule A
Rule B
Rule C
Rule D
Если Правило B имеет stop
в конце, будут ли пропущены правила C и D? И я предполагаю, что правила выполняются в том порядке, в котором они появляются в файле сита?
Да, если правило B содержит stop
в конце, правила C и D будут пропущены.
Действие «стоп» завершает всю обработку. Если неявное сохранение не было отменено, оно принимается.
- RFC 5228, раздел 3.3 «Управляющая остановка»
Это полезно при обнаружении спама и использовании сообщения об отпуске или fileinto
правила. Ты можешь discard
спам, за которым следует stop
который пропускает все следующие правила, что означает, что вы не собираетесь отвечать на них через правило отпуска, и они не будут помещены в другой почтовый ящик через правила fileinto.
Если вы используете if
и elsif
вы можете избежать этой проблемы.