[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