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 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), 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@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@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