On Saturday 26 September 2009 02:40:40 Pascal Volk wrote:
On 09/26/2009 02:27 AM Andreas Ntaflos wrote:
… Funny thing is that it doesn't work here, even when I strip it down to just the two lines:
redirect "foo@example.org" keep;
Hm, sorry no idea what could be the reason for this behavior.
What version of Dovecot and Sieve are you using if I may ask?
Tested with Dovecot v1.2.5 + Patch http://hg.dovecot.org/dovecot-1.2/rev/0f04c7da33f1 and Sieve from http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.12.tar.gz
Thank you for confirming that it should work correctly with the latest versions of Dovecot and Sieve. I found the problem in my setup.
I found that one of my "before" scripts (sieve_before = /etc/dovecot/sieve/before.d, [1]) had a fileinto action together with an explicit "keep". It seems that was a problem for the redirect action later in the user's own script.
I modified that "before" script to use
fileinto :copy "INBOX/foo/bar";
instead of
fileinto "INBOX/foo/bar"; keep;
and now the redirect action works as expected, like you tested and posted earlier.
Still, I wonder why this is happening? In both cases there is a keep action in effect, otherwise the user's script wouldn't get executed at all. Could someone explain what I am missing here? More details follow.
The script in /etc/dovecot/sieve/before.d looks as follows (I use it to keep a backup copy of all mail received in an extra, hidden namespace):
001-backup-mails.sieve:
# We only want to backup incoming mail if it is not marked as spam. if header :contains "X-Spam-Flag" ["YES"] { discard; stop; } else { # This works fileinto :copy :flags "\\Seen" "Backup/received-backup";
# This doesn't, as explained above
# fileinto :flags "\\Seen" "Backup/received-backup";
# keep;
}
This user's script is again only two lines:
user.sieve:
redirect "foo@example.org" keep;
As explained, in the user's sieve script the "keep" after the redirect action is ignored when the backup mails script uses an explicit "keep" after "fileinto", but not when "fileinto" is used with "copy".
Why?
Thanks,
Andreas
[1] http://wiki.dovecot.org/LDA/Sieve/Dovecot
Andreas Ntaflos Vienna, Austria
GPG Fingerprint: 6234 2E8E 5C81 C6CB E5EC 7E65 397C E2A8 090C A9B4