Subject: Re: implementation issues

From: Matthew Elvey <[email-masked]>
Date: Sat, 02 Apr 2005 10:37:47 -0800

On 3/31/05 12:16 AM, Sorin Suciu sent forth electrons to convey:

>
> so, if i understand this correctly we have the following receipe for a 
> perfect implementation:
> - reject can only be by itself and only once (eventualy with stop)

I disagree.  From 
http://www.elvey.com/it/sieve/draft-elvey-refuse-sieve-02.txt:

>4.2  "refuse" compatibility with other actions
>   
>   "Refuse" cancels the implicit keep, and is incompatible with
>   "reject" and "discard". "Refuse" is also incompatible with
>   "vacation" extension [VACATION]. (It should be compatible and
>   incompatible with the same actions as "reject", but [SIEVE] states
>   "Implementations SHOULD prohibit reject when used with other
>   actions." However we feel that "refuse" should be permitted when
>   used with other actions such as "fileinto" and "redirect".  This
>   could be useful for analyzing, tracking or reporting spam.  Also,
>   users can use tricks (such as multiple redirects back to their own
>   email addresses) to get around such a prohibition anyway.)
>
IIRC, there was support for such behavior.
(I wonder if the interactions of SIEVE actions would be most clearly and 
concisely described with if-then-else pseudocode (and a definition of 
when that code runs))