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.
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


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?
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.