如何在sieve / dovecot中设置每个域的filter?
在文档中,我可以看到每个用户的设置:sieve =〜/ .dovecot.sieve,现在我正在使用全局filter:sieve_before = / etc / dovecot / sieve / global。 不过,我希望能够设置每个域的基础上的filter。
总之 – 你不能。
鸽舍只允许全球和每个用户筛选。
before/default/after筛选before/default/after是全球性的,并应用于每个消息。 如果您确定要以相同的方式处理所有消息,则必须设置sieve_beforefilter,而不是default 。 但是这里没有很好的解释。
sieve_before可能由多个规则组成。 首先匹配的规则将被应用,筛选处理将被停止。 如果您想要将消息传递给user sieve进行其他过滤,则必须将动词keep添加到特定规则的末尾。
require "fileinto"; # rule:[some_domain] if header :contains "From" "some.domain.tld" { fileinto "some_domain_tld"; keep; } elseif . . . . . { . . . . . keep; } else { keep; }
如果keep动词被省略,那么sieve引擎将把它当作隐式动词stop并且消息不会被传递给user的筛子。