Email
在篩子中添加每個域的過濾器
如何在 sieve/dovecot 中設置每個域的過濾器?
在文件中,我可以看到每個使用者的設置:sieve = ~/.dovecot.sieve,現在我正在使用全域過濾器:sieve_before = /etc/dovecot/sieve/global。但是,我希望能夠為每個域設置過濾器。
簡而言之 - 你不能。
Dovecot 只允許全域和每個使用者的篩子。
before/default/after
篩子是全域的並應用於每條消息。如果您確定要以相同的方式處理所有消息,則必須設置sieve_before
過濾器,而不是default
. 但是這裡有一個沒有很好解釋的陷阱。
sieve_before
可能由多個規則組成。將應用第一個匹配的規則並停止篩選處理。如果您想將消息傳遞給user
篩子以進行額外過濾,您必須將動詞添加keep
到特定規則的末尾。require "fileinto"; # rule:[some_domain] if header :contains "From" "some.domain.tld" { fileinto "some_domain_tld"; keep; } elseif . . . . . { . . . . . keep; } else { keep; }
如果
keep
動詞被省略,那麼篩子引擎會將其視為隱式動詞stop
,並且消息不會傳遞給user
’s 篩子。