Maybe a bit offtopic, Sieve beaviour

João Silva joaopfmlist at lipc.fis.uc.pt
Thu Aug 25 09:27:17 UTC 2022


Thanks for the detailed anwser.

So it falls under the "feature" section. I will keep that in mind in 
future sieves.

And I think you are right, :copy only makes sense in situations where 
the flow can lead to other places than the Inbox.

On 24/08/2022 20:04, Sean Kamath wrote:
> I recommend reading the RFC: 2.10.2 
> <https://www.rfc-editor.org/rfc/rfc5228#section-2.10.2> is where the 
> Implicit Keep is described.
>
> Basically, if you don’t take action on a message, there is an 
> “implicit keep” that will save the mail in the default location.  If 
> an action *is* taken on a message (that results in it being saved 
> somewhere; i.e., ‘fileinto’), then the implicit keep is removed (since 
> you have explicitly said where to put it).
>
> So there’s the “keep” keyword (see 4.3 
> <https://www.rfc-editor.org/rfc/rfc5228#section-4.3>), to “do what you 
> would do in the implicit keep” (more or less).
>
> So:
>
> fileinto :create “ac” -> puts the message into “ac” and removes 
> “implicit keep”
> keep -> puts implicit keep back (more or less)
>
> fileinto :copy :create “ac” -> puts a *COPY* of the message into “ac”, 
> and the original retains “implicit keep”.
>
> They do the same thing, though I try and avoid unnecessary extensions 
> when I can.
>
> Sean
>
>> On Aug 24, 2022, at 07:29, João Silva <joaopfmlist at lipc.fis.uc.pt> wrote:
>>
>>
>> On 23/08/2022 13:03, Rob Sterenborg (Lists) wrote:
>>>
>>> On 23-08-2022 11:44, João Silva wrote:
>>>> Hi
>>>>
>>>> If a sieve filter contains a rule
>>>>
>>>> if header :regex ["From"] ["@xxx.com","@yyy.pt"] {
>>>>          fileinto :create "ac";
>>>> }
>>>>
>>>> The mail should be copied to the folder ac and then proceed to 
>>>> other rules that a user might have or I understood the
>>>>
>>>> fileinto
>>>>
>>>> wrong?
>>>>
>>>> Using dovecot-pigeonhole-2.2.36-8.el7.x86_64
>>>>
>>>
>>> I use it like this, and it works for me:
>>>
>>> if address :is "From" "sender at domain" {
>>>   fileinto :create "some_mail_folder";
>>>   stop;
>>> }
>>>
>>> Almost 20 years ago, I figured out that I *need* the "stop;" line, 
>>> but I don't remember why.
>>
>> The stop; is needed to prevent further script actions on the email 
>> and that is a very curious thing that I dont know if falls in the 
>> "bug or feature" field.
>>
>> if I use
>>
>> if header :regex ["From"] ["@xxx.com","@yyy.pt"] {
>>          fileinto :create "ac";
>>
>>         keep;
>>
>> }
>>
>> It delivers the mail in my Inbox which was my intention in the first 
>> place.
>>
>> When I used the filter without the keep; and since I didn't had the 
>> stop; I was expecting further actions on that email that will lead to 
>> the email end up in the Inbox and that didn't happened.
>>
>> So it apears that the fileinto rule have a stop; into it without the 
>> stop being declared.
>>
>> In a complex mail management scenario that can cause problems. So my 
>> question is, "bug or feature"?
>>
>>
>>
>>>
>>>
>>> -- 
>>> Rob
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dovecot.org/pipermail/dovecot/attachments/20220825/d93fa572/attachment-0001.htm>


More information about the dovecot mailing list