Andrew Morgan morgan at
Mon Apr 25 14:16:56 EDT 2005

On Mon, 25 Apr 2005, NM Public wrote:

> On 2005-04-25 in 
> <>, Andreas 
> Hasenack wrote:
>> What are the issues you are having with sieve and/or your scripts?
> Off the top of my head, here are some questions I have:

I'll take a crack at a few of them...  :)

> * Is it possible for Sieve to use "include" files so I can
>  compartmentalize the various sections of my Sieve script? This
>  seems like it would be especially useful in ensuring that I
>  don't corrupt my entire Sieve script using the ManageSIEVE
>  script that I describe above.

Sieve does not support includes.

> * Are there Sieve syntax checking tools that will tell me if I
>  have specified exactly the right "require" items? If so, where
>  can I find them? Does it make much of difference if I specify
>  more than is needed. It offends my desire for minimalism.

I use the 'sievetest' program which comes with cyrus.  It will identify 
parse errors, but I'm not sure how sophisticated it is in general.

> * I've seen some recipes that have this:
>    fileinto "foo"
>    stop;
>  Is the 'stop;' redundant here? In procmail, delivery means stop
>  (unless the 'c' flag is used). What's the story in Sieve?

Sieve does not stop processing when it reaches a match.  Your Sieve logic 
must specifically tell it to stop, or be structured in such a way so that 
multiple matches do not occur (if that is your intention).

A good example is one email message sent to multiple mailing lists.  I 
filter each mailing list into a separate folder.  Some people would like 
to receive the message in each folder (multiple matches).  Others might 
like to receive only one copy of the message.  Use of if, elsif, else 
logic can provide both options, depending on your preference.

Cyrus Home Page:
Cyrus Wiki/FAQ:
List Archives/Info:

More information about the Info-cyrus mailing list