Rainloop-webmail: Sieve filter rules should have optional 'stop' check box

Created on 13 Jun 2017  路  10Comments  路  Source: RainLoop/rainloop-webmail

All rainloop generated sieve filter rules include the 'stop;' key word to prevent further rules from being processed.

It would be really nice to make that optional per rule, via a check box or similar, that way further rules which match will still be processed.

This was also mentioned in #1161 and the other points raised there are still valid.

Most helpful comment

I created a PR that should add this option to filters. See #2012 It seems to work well for me.
Hope the maintainers can consider it.

All 10 comments

The default is indeed 'stop', but rules where this is relevant, like vacation message rules, have a checkbox Don't stop processing rules, which is the reverse of what you are asking for, but has the same end result. Unless there is a specific use case you cannot implement this way, my proposal is to close this issue.

A typical example is:

1) Forward message to [email protected]
2) Move message to folder 'myfolder'

This is currently not possible (afaik?).

I think this could be really nice to have in some cases like @madpsy states. Further, since it is already implemented for the vacation message rule, I don't imagine this would be a lot to do.

+1, I need to write manual script for redirections which is not very handy.

Also, support for multiple actions would be appreciated.

Would be nice to have a checkbox that says "Continue processing other rules". I tested with a couple of other UIs. The Thunderbird sieve addon and the Roundcube addon both default to Continue processing and one has to explicitly add a "Stop processing" rule. Thanks!

+1 for this proposal, I need multiple forwardings for a single rule, too. As @akmet states, this feature is already implemented in vacation messages and should be fairly easy to implement in other actions, too...?

1.12.1/app/libraries/RainLoop/Providers/Filters/SieveStorage.php
Line:433 Add //
// $aResult[] = $sTab.'stop;';

This one bit me as well... didn't realize that only the first filter matches and then no further rules are processing. Would be great to have it optional. I guess I'll revert to manually manage my sieve rules for now.

I created a PR that should add this option to filters. See #2012 It seems to work well for me.
Hope the maintainers can consider it.

hmm... whilst technically it works, I have a feeling there's still some limitations with using sieve rules this way?

I know very little about sieve, but here's an example that I bumped into. Let's say I want to forward ALL my emails to another address, but I also want to move paypal emails to a Paypal folder. So I might create two rules like this

Screenshot 2020-06-20 at 09 46 02
Screenshot 2020-06-20 at 09 45 34

Which would create these sieve rules

/* a redirect-all rule */
fileinto "INBOX";
redirect "[email protected]";

/* a fileinto rule */
if header :contains ["From"] "[email protected]"
{
    fileinto "Paypal";
    stop;
}

So when an email from Paypal arrives, it matches both rules, and therefore it gets filed into INBOX, redirected, and then filed into Paypal... But I want to move the email to the Paypal folder. I don't want it in my INBOX...

Reversing the order, or adding/removing the stop doesn't help me here. Any clues how to achieve this? Does it mean that the filtering implementation in rainloop is too naive for some more complex use-cases? Currently it only adds simple rules, with no nesting/conditionals etc which might be needed in scenarios like this one?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

rpadovani picture rpadovani  路  4Comments

eminphi picture eminphi  路  5Comments

ninja- picture ninja-  路  3Comments

NemediDev picture NemediDev  路  5Comments

PeopleInside picture PeopleInside  路  3Comments