draft-ietf-sieve-imap-sieve-05.txt   draft-ietf-sieve-imap-sieve-06.txt 
Sieve Working Group B. Leiba Sieve Working Group B. Leiba
Internet-Draft Huawei Technologies Internet-Draft Huawei Technologies
Intended status: Standards Track June 15, 2012 Intended status: Standards Track July 14, 2012
Expires: December 17, 2012 Expires: January 15, 2013
Support for Internet Message Access Protocol (IMAP) Events in Sieve Support for Internet Message Access Protocol (IMAP) Events in Sieve
draft-ietf-sieve-imap-sieve-05 draft-ietf-sieve-imap-sieve-06
Abstract Abstract
Sieve defines an email filtering language that can, in principle, Sieve defines an email filtering language that can, in principle,
plug into any point in the processing of an email message. As plug into any point in the processing of an email message. As
defined in the base specification, it plugs into mail delivery. This defined in the base specification, it plugs into mail delivery. This
document defines how Sieve can plug into points in the IMAP protocol document defines how Sieve can plug into points in the IMAP protocol
where messages are created or changed, adding the option of user- where messages are created or changed, adding the option of user-
defined or installation-defined filtering (or, with Sieve extensions, defined or installation-defined filtering (or, with Sieve extensions,
features such as notifications). features such as notifications).
skipping to change at page 1, line 36 skipping to change at page 1, line 36
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on December 17, 2012. This Internet-Draft will expire on January 15, 2013.
Copyright Notice Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 6, line 19 skipping to change at page 6, line 19
An IMAP server advertises support for IMAP events in Sieve through An IMAP server advertises support for IMAP events in Sieve through
the "imapsieve" capability. A server that advertises "imapsieve" is the "imapsieve" capability. A server that advertises "imapsieve" is
claiming to be in compliance with this specification in all aspects. claiming to be in compliance with this specification in all aspects.
The syntax of the "imapsieve" capability string is defined as The syntax of the "imapsieve" capability string is defined as
follows: follows:
capability /= "IMAPSIEVE=" sieveurl-server capability /= "IMAPSIEVE=" sieveurl-server
; <sieveurl-server> is defined in RFC 5804, Section 3 ; <sieveurl-server> is defined in RFC 5804, Section 3
Only one "imapsieve" capability string, specifying one sieveurl- Only one "imapsieve" capability string, specifying one sieveurl-
server, can be present. server, can be present. The sieveurl-server identifies the
ManageSieve server that clients need to contact for managing Sieve
scripts associated with this IMAP server.
The corresponding Sieve implementation uses the Sieve capability The corresponding Sieve implementation uses the Sieve capability
string "imapsieve", and Sieve scripts that depend upon the IMAP string "imapsieve", and Sieve scripts that depend upon the IMAP
events MUST include that string in their "required" lists. events MUST include that string in their "required" lists.
Implementations that support IMAP events in Sieve MUST also support Implementations that support IMAP events in Sieve MUST also support
IMAP Metadata [RFC5464] and Sieve Environment [RFC5183], because IMAP Metadata [RFC5464] and Sieve Environment [RFC5183], because
Metadata is used to associate scripts with IMAP mailboxes and Metadata is used to associate scripts with IMAP mailboxes and
Environment defines an important way for Sieve scripts to test the Environment defines an important way for Sieve scripts to test the
conditions under which they have been invoked. Notwithstanding the conditions under which they have been invoked. Notwithstanding the
skipping to change at page 10, line 46 skipping to change at page 10, line 46
If the Sieve implementation supports the fileinto action, that action If the Sieve implementation supports the fileinto action, that action
is applicable in all cases that fall under IMAP events in Sieve. If is applicable in all cases that fall under IMAP events in Sieve. If
the Copy extension [RFC3894] is available and the :copy option is the Copy extension [RFC3894] is available and the :copy option is
specified, the implicit keep is retained; otherwise, fileinto cancels specified, the implicit keep is retained; otherwise, fileinto cancels
the implicit keep, as specified in the base Sieve specification. the implicit keep, as specified in the base Sieve specification.
For APPEND, MULTIAPPEND, and COPY, the message is stored into the For APPEND, MULTIAPPEND, and COPY, the message is stored into the
fileinto mailbox IN ADDITION TO the original target mailbox. For fileinto mailbox IN ADDITION TO the original target mailbox. For
flag changes, the message is COPIED into the fileinto mailbox, flag changes, the message is COPIED into the fileinto mailbox,
without removing the original. without removing the original. In all cases, fileinto always creates
a new message, separate from the original.
If a keep action is NOT also in effect, the original message is then If a keep action is NOT also in effect, the original message is then
marked with the \Deleted flag (and a flag-change Sieve script is NOT marked with the \Deleted flag (and a flag-change Sieve script is NOT
invoked). The implementation MAY then expunge the original message invoked). The implementation MAY then expunge the original message
(WITHOUT expunging other messages in the mailbox), or it MAY choose (WITHOUT expunging other messages in the mailbox), or it MAY choose
to have expunges batched, or done by a user. If the server does the to have expunges batched, or done by a user. If the server does the
expunge, the effect is as though a client had flagged the message and expunge, the effect is as though a client had flagged the message and
done a UID EXPUNGE (see [RFC4315]) on the affected message(s) only. done a UID EXPUNGE (see [RFC4315]) on the affected message(s) only.
Handling it this way allows clients to handle messages consistently, Handling it this way allows clients to handle messages consistently,
and avoids hidden changes that might invalidate their message caches. and avoids hidden changes that might invalidate their message caches.
 End of changes. 5 change blocks. 
6 lines changed or deleted 9 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/