Re: set seen flag and junk moving a mail manually to JUNK
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
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
* 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
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