Hello, For the past few weeks, I have been facing an issue where user Sieve scripts no longer work.
I have configured the filtering of spam emails marked by Rspamd in a before.sieve script, and that works fine. However, the user scripts created via ManageSieve through the Roundcube webmailer do not function anymore.
I suspect that this issue started after a Debian 12.6 system upgrade. Could it be that something fundamentally changed, or is Dovecot not fully compatible with Debian 12? However, I find that hard to believe.
Despite repeatedly reinstalling the Dovecot environment and verifying file permissions and configurations multiple times, I haven't been able to resolve the issue. I’ve been running Sieve for over 15 years on various servers and have never encountered such problems.
Unfortunately, the sieve_user_log = /var/log/dovecot/sieve.log file is not being created. The directory specified in sieve_trace_dir = /var/log/dovecot/sieve is created, but it only logs actions from before.sieve, not from user Sieve scripts.
Here are the relevant settings from 90-sieve.conf:
plugin { sieve_extensions = +editheader sieve = file:/var/customers/sieve/%u/;active=/var/customers/sieve/%u/.dovecot.sieve sieve_dir = /var/customers/sieve/ sieve_default = /var/customers/sieve/default.sieve sieve_global = /var/customers/sieve/global.sieve sieve_before = /var/customers/sieve/before.sieve sieve_user_log = /var/log/dovecot/sieve.log sieve_trace_dir = /var/log/dovecot/sieve sieve_compile_binary = yes sieve_trace_level = matching sieve_trace_debug = yes sieve_debug = yes }
Here’s a log entry from info_log_path = /var/log/dovecot/dovecot-lda.log:
Dec 08 12:57:44 lda(info@domain.info)<2664475><r1+hOreJVWcbqCgAF7VarQ>: Info: sieve: msgid=<20241208115741.7792d7fe54743ef8@fgfunnelsmail.com>: fileinto action: stored mail into mailbox 'INBOX'
Here’s a log entry from debug.log:
Dec 08 13:12:55 lda(info@domain.info)<2680802><SNQDB0eNVWfi5ygAF7VarQ>: Debug: sieve: Using the following location for user's Sieve script: /var/customers/sieve/info@domain.info/.dovecot.sieve
However, the script is not being applied.
Contents of /var/customers/sieve/info@domain.info:
/var/customers/sieve/info@domain.info # ls -lah total 24K drwxr-x--- 3 vmail vmail 4.0K Dec 8 13:07 . drwxr-x--- 51 vmail vmail 4.0K Dec 7 19:40 .. lrwxrwxrwx 1 vmail vmail 12 Dec 7 15:23 .dovecot.sieve -> filter.sieve -rwxr-x--- 1 vmail vmail 212 Dec 7 19:40 .dovecot.svbin -rw-r----- 1 vmail vmail 95 Dec 8 13:07 filter.sieve -rwxr-x--- 1 vmail vmail 212 Dec 7 19:40 filter.svbin drwxr-x--- 2 vmail vmail 4.0K Dec 8 13:07 tmp
Contents of filter.sieve:
require ["copy"]; # rule: [Redirect] if true { redirect :copy "christian@domain.info"; }
The sieve_user_log = /var/log/dovecot/sieve.log file remains empty. Write permissions are correct, and there are no indications of errors in the dovecot.log or debug.log.
Thanks for infos and your help
Christian