BUG: sieve does not set seen-Flag

Jakobus Schürz wertstoffe at nurfuerspam.de
Tue Dec 4 17:01:56 EET 2018


Which version of dovecot are you using?


jakob

Am 04.12.18 um 15:44 schrieb Larry Rosenman:
> I have the following, and it works:
> require ["include","fileinto","imap4flags","variables"];
> global "MyFlags";
> if header :contains ["X-LERCTR-Spam-Flag","X-TNTSCAN-Spam-Flag"]  "YES"
> {
>    redirect "spamtrap at spambouncer.org";
>    addflag "MyFlags" "\\Seen Junk";
>    fileinto :flags "${MyFlags}" "SPAM";
>    stop;
> }
>
> FWIW.
>
>
> On Tue, Dec 4, 2018 at 8:25 AM Jakobus Schürz <wertstoffe at nurfuerspam.de>
> wrote:
>
>> Now i tried an additional rule in my "normal" working sieve-filter:
>>
>> if address :domain :matches "from" "company.example"
>>   { setflag "\\seen"; fileinto :create "INBOX/foo/test"; stop; }
>>
>> and sent an email from my company-account. The folder INBOX/foo/test gets
>> created, but the message inside is not marked as seen.
>>
>> So i think, this is a bug in dovecot/pigeonhole, which ignores the
>> \\seen-Flag being set by sieve-script.
>>
>> I tried to set the seen-flag to the message with doveadm. This works
>> correctly.
>>
>>
>> BG Jakob
>>
>>
>>
>> Am 04.12.18 um 14:23 schrieb Jakobus Schürz:
>>
>> Ok. I tried another Thunderbird-specific Flag:
>>
>> require ["imap4flags", "vnd.dovecot.pipe", "copy", "imapsieve", "environment", "variables"];
>> if environment :matches "imap.email" "*" {
>>   set "email" "${1}";
>> }
>> addflag "Junk";
>> addflag "\\seen";
>> addflag "$label3";
>> pipe :copy "learn-spam.sh";
>> pipe :copy "learn-spam-sa.sh" [ "${email}" ];
>>
>> When i move an unflagged email to Folder Junk, it is shown in Thunderbird
>> as "personal", Junk but Unseen.
>>
>> So, the rule is really working, except for the \\seen-Flag.
>>
>> I have the line
>>
>> addflag "\\seen";
>>
>> from the dovecot-wiki!
>>
>> BG jakob
>>
>>
>>
>> Am 04.12.18 um 14:06 schrieb Jakobus Schürz:
>>
>> 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..


More information about the dovecot mailing list