ietf-mta-filters
[Top] [All Lists]

Re: [sieve] I-D Action: draft-ietf-sieve-imap-sieve-08.txt

2012-09-11 03:52:41
On 9/10/2012 11:16 PM, internet-drafts(_at_)ietf(_dot_)org wrote:
A New Internet-Draft is available from the on-line Internet-Drafts directories.
  This draft is a work item of the Sieve Mail Filtering Language Working Group 
of the IETF.

        Title           : Support for Internet Message Access Protocol (IMAP) 
Events in Sieve
        Author(s)       : Barry Leiba
        Filename        : draft-ietf-sieve-imap-sieve-08.txt
        Pages           : 23
        Date            : 2012-09-10

Abstract:
    Sieve defines an email filtering language that can, in principle,
    plug into any point in the processing of an email message.  As
    defined in the base specification, it plugs into mail delivery.  This
    document defines how Sieve can plug into points in the IMAP protocol
    where messages are created or changed, adding the option of user-
    defined or installation-defined filtering (or, with Sieve extensions,
    features such as notifications).  Because this requires future Sieve
    extensions to specify their interactions with this one, this document
    updates the base Sieve specification, RFC 5228.

There is no changelog in the document, so I wondered what changed and therefore I read it again. Rather than finding out what had changed, I noticed a few other things:

#1) The final paragraph of Section 2.1 lists a few IMAP and Sieve capabilities for which support is required: IMAP "METADATA" and Sieve "environment". I would expect this Section to list all such dependencies, but apparently it does not. Section 3.8 adds the Sieve imap4flags extension as a requirement. Yet, section 4.5 suggests that it is optional again. So what is it?

#2) Section 2.2.2 suggests that there is a MULTIAPPEND command for IMAP. There is no such thing: it is an IMAP capability that extends APPEND to accept multiple messages at once. I would merge this with the previous section:

--
2.2.1. The IMAP APPEND Command

   A message may be added to a mailbox through the IMAP APPEND command.
   In a server that advertises "imapsieve", new messages added in this
   way MUST trigger the execution of a Sieve script, subject to the
   settings defined through Metadata (see Section 2.3.1).

   If the IMAP server supports the IMAP MultiAppend extension [RFC3502],
   multiple messages may be added to a mailbox through a single APPEND
   command.  In a server that advertises "imapsieve", new messages added
in this way MUST each individually trigger the execution of a Sieve script.
--

This also stresses the fact that each individual message triggers the Sieve script. At other places in the document MULTIAPPEND is listed as a separate command, but there it would suffice to just remove it.


I also gave the issue of useless script triggers, i.e. events that are never of interest for the script involved, some more thought. For example, I would hate to have my Sieve script executed for each message that I read (added \Seen flag) while it doesn't do anything useful with that event. Wouldn't it be useful to have a `/shared/imapsieve/cause' Metadata item that indicates which causes (the items from Section 7.3.1 in a space-separated list) should trigger the Sieve script? More detailed control could be used to select specific flags that are relevant (e.g. in a '/share/imapsieve/changedflags' Metatada item).

Regards,

Stephan.
_______________________________________________
sieve mailing list
sieve(_at_)ietf(_dot_)org
https://www.ietf.org/mailman/listinfo/sieve