dovecot sieve 中的“停止”命令起什么作用?

dovecot sieve 中的“停止”命令起什么作用?

规则文件中有一个名为的命令stop,它会停止处理。但我不确定为什么需要这样做。如果它是规则中指令列表中的最后一个命令,那么规则不是已经处理完毕了吗?或者它是否意味着不要跳到列表中的下一个规则?换句话说,假设我的筛选文件有一个规则列表:

Rule A
Rule B
Rule C
Rule D

如果规则 Bstop末尾有命令,规则 C 和 D 会被跳过吗?我假设规则按照它们在筛选文件中出现的顺序执行?

答案1

是的,如果规则 Bstop在末尾包含命令,则规则 C 和 D 将被跳过。

“stop”操作结束所有处理。如果隐式保留尚未取消,则执行该操作
。—RFC 5228 第 3.3 节“控制停止”


这在检测垃圾邮件和使用休假消息或某些fileinto规则时非常有用。您可以将discard垃圾邮件后面的邮件stop跳过所有后续规则,这意味着您不会通过休假规则回复它们,也不会通过 fileinto 规则将它们放入另一个邮箱。

如果您正在使用ifelsif您可以避免这个问题。

相关内容