> On 28/07/2025 20:46 EEST John via dovecot <[email protected]> wrote:
> 
>  
> The developers are probably going to chuckle at me when they read this. :)
> 
> You are correct. " sieve_script before { ... }" should be enough according to 
> my late night first read of the docs. I tried it, and it never called my 
> script.
> 
> I tried to migrate my dovecot 2.3 to 2.4.1. I have a script_before line to be 
> converted. I finally arrived at syntax that worked.
> 
> After reading the 2.4.1 docs again, I think my problem is the script name. My 
> before script is named spam.sieve. Maybe what the docs are saying is this 
> should work:
> 
> sieve_script before {
>     # script needs to be called /etc/dovecot/before.sieve with before.svbin 
> also at this location
>     path = /etc/dovecot
> }
> 
> [My problem 1]
> Since spam.sieve was not called before.sieve, the script could not be found. 
> Someone should test this idea.
> 
> There is sieve_script_name, sieve_script_type, and sieve_script_storage. 
> Seems more involved than dovecot 2.3 and there is some auto sensing 
> happening. It would be nice if the docs just say you must call your script 
> before.sieve and it will work as a "before" script.
> 
> My problem 2:
> I wanted to remove the /etc/dovecot/sieve directory and run my before script 
> from /etc/dovecot/spam.sieve. I placed spam.sieve and spam.svbin under 
> /etc/dovecot. When I sent an email and it called spam.sieve, I received this 
> error:
> 
> lmtp(john)<18431><WU7WN/9zhWj/RwAAfYjuOg>: Error: sieve: binary 
> /etc/dovecot/spam.svbin: save: failed to create temporary file: 
> open(/etc/dovecot/spam.svbin.) failed: Read-only file system
> 

sieve looks at mtime when determining if a script needs to be recompiled or 
not. If you move/copy the files, the script mtime might end up newer than the 
svbin's, causing recompile.

Aki

_______________________________________________
dovecot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to