[Dovecot] sieve rules processing

Stephan Bosch stephan at rename-it.nl
Thu Aug 6 22:16:50 EEST 2009


pod wrote:

>> Note that the anyof() commands are only necessary when you have multiple
>> tests per if command. Also, I removed the envelope require, since it is
>> not used.
> 
> Out of interest is the conditional around
> 
>     if true
>     {
>       redirect :copy "alice at domain.com";
>     }
> 
> necessary?  Does a plain inline
> 
>     redirect :copy "alice at domain.com";
> 
> not behave in exactly the same manner?
These are identical. Some people (or rather their GUI-based editors) use 
unconditional if-statements to temporarily disable/enable certain 
sections of a script.

By the looks of it, this was generated by the sieverules plugin for the 
RoundCube webmail client. In this case it looks more like a limitation 
of the script generator, meaning that it doesn't omit the if statement 
when the rule is unconditional.

Other than that, the if true {...} statement is completely useless and 
adds nothing to the semantics of the script.

> I'm afraid it's a while since I read RFC 5228 (Sieve) and I was unfamiliar
> with RFC 3894 (:copy) but on scanning through them I can't see anything to
> indicate that behaviour should differ inside and outside an "if".
> 
> So I suppose my question is does "redirect :copy" have different behaviour
> based on whether it is inline or inside an "if"?
Conclusion: no.

Regards,

Stephan.



More information about the dovecot mailing list