Andreas Hasenack wrote:
A friend of mine had these rules (cyrus-imapd-2.2.12):

------8<-------
if ....

elsif ....

elsif header :contains "From" "[EMAIL PROTECTED]" {
        discard;
}

if ...
(script continues)
------8<-------

Note how the if/elsif structure is broken and a new if statement begins
later on. That was a copy&paste error (the second "if" should have been
"elsif" to continue the case-like structure).

The interesting thing is that a message from "[EMAIL PROTECTED]"
survived the discard. Is that because there should be a "stop;" after
the discard action? It matched some other rule down the road in the
second "if" structure.

from RFC 3028: [...] 4.5. Action discard

   Syntax:   discard

   Discard is used to silently throw away the message.  It does so by
                                                        ^^^^^^^^^^^^^
   simply canceling the implicit keep.  If discard is used with other
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   actions, the other actions still happen.  Discard is compatible with
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   all other actions.  (For instance fileinto+discard is equivalent to
   fileinto.)
[...]

Sieve processes the script, doing the actions set there.
If at the end of the script the message was not filed into any mailbox,
it is silently filed into the primary mailbox.
And only this implicit last step (file it in the primary mailbox)
is removed by the discard command.

It does NOT have an implicit stop.

Bye

Goetz

--
DMCA: The greed of the few outweighs the freedom of the many

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature



Reply via email to