On 16. Feb 2025, at 14.52, Joan Moreau via dovecot <dovecot@dovecot.org> wrote:
and anyway the full path of sieves script is specified
sieve_script personal { path = /data/mails/%{user | domain }/%{user | username }/sieve/default.sieve }
This is different from what you used to have:
sieve = file:/data/mails/%{user | domain }/%{user | username }/sieve/;active=/data/mails/%d/%n/sieve/default.sieve sieve_after = file:/data/mails/sieve/after.sieve sieve_default = file:/data/mails/sieve/before.sieve sieve_before = file:/data/mails/sieve/before.sieve sieve_global = file:/data/mails/sieve/
This would translate to:
sieve_script personal { path = /data/mails/%{user | domain}/%{user | username}/sieve/ active_path = /data/mails/%{user | domain}/%{user | username }/sieve/default.sieve } sieve_script after { type = after path = /data/mails/sieve/after.sieve } sieve_script default { type = default path = /data/mails/sieve/before.sieve } sieve_script before { type = before path = /data/mails/sieve/before.sieve } sieve_script global { type = global path = /data/mails/sieve/ }
1 - Why "mail_home" is used by Sieve ? (as anyway, script are specified otherwise)
It's not. The error message was about duplicate database, which is outside Sieve. I guess you had it in v2.3 installation as well, if you didn't have a home directory.
2 - why scripts are not run ?
Try to enable debug logs (log_debug = category=debug) and see what debug logs say.