set seen flag and junk moving a mail manually to JUNK

Jakobus Schürz wertstoffe at nurfuerspam.de
Tue Dec 4 15:06:35 EET 2018


Hi Ralph!

This is, what calls the correct sive-filter rules. I have that already
in use.
But the file

file:/etc/dovecot/sievepipe/report-spam

contains my sieve-script from my first posting.
So, the difference from setflag to addflag is, setflag sets the flags,
and only the given flags (removing all other flags), and addflag adds a
flag to the existing flags...

I fiddled around a little...
The sieve-script sets the Junk-Flag, when it looks like:

require ["imap4flags", "vnd.dovecot.pipe", "copy", "imapsieve",
"environment", "variables"];

if environment :matches "imap.email" "*" {
  set "email" "${1}";  
}

addflag "Junk \\seen";
pipe :copy "learn-spam.sh";
pipe :copy "learn-spam-sa.sh" [ "${email}" ];

But the \\seen-Flag is not set.

When i comment out the addflag-line, the Junk-Flag is not set. So the
line works correct... but only for the Junk-Flag, not for the seen-Flag...
Why?


BR

Jakob

Am 04.12.18 um 12:46 schrieb Ralph Seichter:
> * Jakobus Schürz:
>
>> addflag "Junk";
>> setflag "\\seen";
> That's probably not what you want, because the 'setflag' command
> replaces all existing flags. In any case, I recommend you use this
> method instead:
>
>   plugin {
>     sieve_pipe_bin_dir = /etc/dovecot/sievepipe
>
>     # Message moved into Spam folder
>     imapsieve_mailbox1_name = Junk
>     imapsieve_mailbox1_causes = COPY
>     imapsieve_mailbox1_before = file:/etc/dovecot/sievepipe/report-spam
>
>     # Message moved out of Spam folder
>     imapsieve_mailbox2_name = *
>     imapsieve_mailbox2_from = Junk
>     imapsieve_mailbox2_causes = COPY
>     imapsieve_mailbox2_before = file:/etc/dovecot/sievepipe/report-ham
>   }
>
> This was typed from memory, so I hope the syntax is correct.
>
> -Ralph


More information about the dovecot mailing list