On 2/11/2015 8:41 PM, Stephan Bosch wrote: > On 2/11/2015 7:34 PM, Florin Portase wrote: >> Hello guys, >> >> I'm having troubles making "script_after" to exec sieve scripts:: >> > Keep in mind that the sieve_after script is only executed when the > "keep" action [1] is executed or when the implicit "keep" [2] is still > active, meaning that the user didn't give the mail an explicit destination. > > If the user does perform actions like fileinto or redirect without a > `:copy' argument [3] and without performing an explicit "keep" [2] > anywhere, the subsequent sieve_after scripts are not executed [4]. > > Therefore sieve_after is only useful to provide default behavior for > when the user has no explicit rule for what should happen to the e-mail. > >> `/home/vpopmail/domains/medianetork.ro/portase.florin/Maildir/sieve/dovecot1.sieve;name=lters' >> Feb 11 19:16:10 lda(portase.flo...@medianetork.ro): Info: sieve: >> msgid=AAa=mneao6+wwlh3m8nz1z6mi2ae2admdrsakja_-pycwcv...@mail.gmail.com>: >> stored mail into mailbox 'INBOX.Gmail' > This was probably done using a `fileinto "INBOX.Gmail";' command. This > cancels the implicit keep. > > To force executing sieve_after, the user needs to add a `:copy' argument > to that fileinto command or a `keep;' action should be executed. > > Administrator policies that always need to be executed must be placed > in a sieve_before script. > > For more information: > > [1]: https://tools.ietf.org/html/rfc5228#section-4.3 > [2]: https://tools.ietf.org/html/rfc5228#section-2.10.2 > [3]: https://tools.ietf.org/html/rfc3894 > [4]: http://tools.ietf.org/html/draft-degener-sieve-multiscript-00 > > Regards, > > Stephan. > Thanks Stephan,
However still have one small issue: fileter.sieve ========== # rule:[amavis] if anyof (address :contains "From" "amavis", address :contains "Cc" "amavis-us...@amavis.org", address :contains "To" "amavis-us...@amavis.org") { fileinto "INBOX.lists.amavisd-new"; } # rule:[xxx_gmail] elsif anyof (header :contains "From" "xxx@gmail") { setflag "\\Flagged"; fileinto "INBOX.Gmail"; keep; } In this case, both all 3 sieve are executed: global one + filters + vacation. But as side note: when mail come from gmail account, - 1st message is sent to inbox.gmail - 2nd vacation response is sent -3rd message is copied once more directly into INBOX Now, if I modify: fileinto :copy INBOX.Gmail; The message is sent to INBOX.Gmail and also copied to INBOX How can I avoid such behavior ?