Global scripts run for every user. Per-user scripts are uploaded via ManageSieve.
conf.d/90-sieve.conf:
plugin {
sieve = file:~/sieve;active=~/.dovecot.sieve
sieve_before = /etc/dovecot/sieve/before.sieve
sieve_after = /etc/dovecot/sieve/after.sieve
sieve_dir = ~/sieve
sieve_extensions = +editheader +mailbox +spamtest
}
Execution order: sieve_before → user script → sieve_after.
Common global rules in before.sieve:
require ["fileinto", "spamtest", "spamtestplus"];
if spamtest :percent :value "ge" "75" {
fileinto :create "Junk";
stop;
}
Compile after editing:
sievec /etc/dovecot/sieve/before.sieve
🎯 Always test new global rules with one mailbox first — a broken before.sieve breaks delivery for everyone.
Sign in to keep track of what you have read.