dovecot 2.2.15 script_after not executed

Stephan Bosch stephan at rename-it.nl
Thu Feb 12 00:01:58 UTC 2015


On 2/11/2015 10:37 PM, Portase Florin wrote:
> 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.florin at medianetork.ro): Info: sieve:
>>> msgid=AAa=MneAO6+wwLh3M8nz1z6Mi2Ae2aDMdrSakJA_-PYCwCvbCA at 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-users at amavis.org",
>         address :contains "To" "amavis-users at amavis.org")
> {
>         fileinto "INBOX.lists.amavisd-new";
> }
> # rule:[xxx_gmail]
> elsif anyof (header :contains "From" "xxx at 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  ?

Why do you have the vacation script in a sieve_after rule?

Regards,

Stephan.



More information about the dovecot mailing list