[Dovecot] Seen Flag doesn't work using imapflags

Stephan Bosch stephan at rename-it.nl
Wed Jan 27 21:15:54 EET 2010


Ronny Reiher wrote:
> Hi Stephan,
> 
> many thanks for your great work on Sieve !
> 
> Since I have upgraded to Sieve v0.1.15 and ManageSieve v0.11.11 the "Seen Flag" doesn't work anymore. With your previous Version it was working fine. Maybe you can give me an hint how to solve this issue ?
> 
> # Sieve Filter
> # Erzeugt von Ingo (http://www.horde.org/ingo/)
> 
> require ["imapflags", "fileinto"];
>  
> # spam
> if anyof ( header :comparator "i;ascii-casemap" :contains "Delivered-To" "xxx at xxx.de", header :comparator "i;ascii-casemap" :contains "Subject" "*****SPAM*****" ) { 
>    addflag "\\Seen";
>    fileinto "spam";
>    removeflag "\\Seen";
>    stop;
> }
> 

Interesting. Looks like my bugfix exposed yet another bug. Your script 
worked previously because the removeflag command did not work properly. 
With 0.1.15 I fixed the removeflag command, thus breaking your script. 
The essence of the bug we face now is that for the deprecated imapflags 
extension (that you are using now) only the flag state at the end of the 
script is used for storing messages. This is now fixed:

http://hg.rename-it.nl/dovecot-1.2-sieve/rev/a890258aa5a9

You can work around this issue by substituting "imapflags" with 
"imap4flags" in the script above. I've added some proper tests to the 
test suite to prevent this problem from re-occuring in the future.

Regards,

Stephan.




More information about the dovecot mailing list