sieve: active= doesn't seem to use bindir=

David Mandelberg david at
Tue Oct 5 22:14:42 EEST 2021

Op 05-10-2021 om 15:03 schreef dovecot at
>> It looks like dovecot is trying to save the
>> compiled active script to the same directory as the source file,
>> instead of to bindir. Am I missing something?
>> sieve =
>>     file:/usr/local/etc/mail/%{domain}/%{username}/sieve;
>> active=/usr/local/etc/mail/%{domain}/%{username}/sieve/.active.sieve;
>>     bindir=/var/cache/mail/%{domain}/%{username}/sieve
> Active= tells where to save the complied active script. In the above 
> config it is being told to save to
>      /usr/local/etc/mail/%{domain}/%{username}/sieve/.active.sieve;

I thought active was where to read the active source script from? I'm 
not using managesieve, so I wouldn't expect dovecot to try writing to 
that file. I don't see anything in about 
active pointing at a compiled file, just stuff about it pointing at a 
source file.

> Which is the same directory as the scripts set with file:
>      /usr/local/etc/mail/%{domain}/%{username}/sieve
> If you want the compiled to save in same path as bindir then change 
> active to match
>      active=/var/cache/mail/%{domain}/%{username}/sieve/.active.sieve;

Yup, I did that and it worked, but it doesn't seem to match the 
documentation. It's also slightly (but only slightly) annoying to have 
to write to the cache dir from my configuration management system, 
instead of writing to the source dir.

More information about the dovecot mailing list