[Dovecot] sieve rules processing

Stephan Bosch stephan at rename-it.nl
Thu Jul 30 02:29:26 EEST 2009


Nikita Koshikov schreef:
> Hello list,
> 
> My question: is sieve support some kind of "continue" action, to explicit tell server processing rules below current one(if current has triged)?
> 
> Situation:
> I have few rules, which fileinto's to different directories. All is working fine, but if I want redirect all my mail for some period of time to another mailbox, I'm adding rule like  this, to be processing first.
> 
> if anyof (true)
> {
>         redirect "koshikov at gmail.com";
> 	keep;
> }
> 
> Mail redirecting, but keep state store messages to INBOX. All I want - to process other rules, which will move message to the right imap directory.
> This situation also happens with vacation sieve-action.
> In sieve rfc I didn't find any workaround to that actions.
> 
I am not exactly sure what you mean. Why are you providing an explicit 
keep command when you want to sort the message further? I would think 
the following example script does what you need:

==
require "fileinto";
require "copy";

# Temporary rule
if true {
	# Forward a copy of all messages to gmail account
	redirect :copy "koshikov at gmail.com";
}

# File spam into spam folder and stop further processing
if header :contains "X-spam" "yes" {
	fileinto "Spam";
	stop;
}

# Mailing list
if header :contains "list-id" "ietf-mta-filters.imc.org" {
	fileinto "Lists.Sieve";
}

# Implicit keep will store message in INBOX if it was not
# stored already by the fileinto commands above. The :copy
# argument to the redirect command prevents that command
# from cancelling the implicit keep action.
==

I hope this helps you along.

Regards,

-- 
Stephan Bosch
stephan at rename-it.nl


More information about the dovecot mailing list