Re: set seen flag and junk moving a mail manually to JUNK

2018-12-04 Thread 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...
> 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


Re: set seen flag and junk moving a mail manually to JUNK

2018-12-04 Thread 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...
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


Re: set seen flag and junk moving a mail manually to JUNK

2018-12-04 Thread 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


set seen flag and junk moving a mail manually to JUNK

2018-12-04 Thread Jakobus Schürz
Hi there!

I want to set the \seen and the Junk Flag to an email, which i move
manually to my Junk-Folder.

I tried a lot... but nothing worked like expected.

I have a sieve-filter, which takes an email and copy it to a pipe to
rspamc. This filter is working correctly, i get a debug-message from the
script, which is called through the sieve-filter.
But adding another rule (addflag "Junk"; setflag "\\seen";) to this rule
is getting ignored...

Here is my sieve-rule:

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

if environment :matches "imap.email" "*" {
  set "email" "${1}";   
}
addflag "Junk";
setflag "\\seen";
pipe :copy "learn-spam.sh" [ "${email}" ];

How said before, the script learn-spam.sh is called, when i move a
Message via drag in thunderbird from the INBOX to the Junk-Folder.
But the message in the Junk-Folder is unseen, recent and has no Junk-Flag...

What's wrong?

BR

Jakob