Message ORGanization Working Group B. Leiba Internet-Draft Huawei Technologies Intended status: Standards Track J. Nicolson Expires: July 29, 2010 Google January 25, 2010 IMAP LIST extension for special-use mailboxes draft-ietf-morg-list-specialuse-00 Abstract Some IMAP message stores include special-use mailboxes, such as those used to hold draft messages or sent messages. Many mail clients allow users to specify where draft or sent messages should be put, but configuring them requires that the user know which mailboxes the server has set aside for these purposes. This extension adds new mailbox flags that a server MAY include in IMAP LIST command responses to identify special-use mailboxes to the client, easing configuration. Note A revised version of this draft document will be submitted to the RFC editor as a Proposed Standard for the Internet Community. Discussion and suggestions for improvement are requested, and should be sent to morg@ietf.org. Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Leiba & Nicolson Expires July 29, 2010 [Page 1] Internet-Draft IMAP LIST: special-use mailboxes January 2010 This Internet-Draft will expire on July 29, 2010. Copyright Notice Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the BSD License. Leiba & Nicolson Expires July 29, 2010 [Page 2] Internet-Draft IMAP LIST: special-use mailboxes January 2010 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1. Conventions used in this document . . . . . . . . . . . . . . 4 2. New mailbox flags identifying special-use mailboxes . . . . . 4 3. Extension to IMAP CREATE command to set special-use flags . . 5 4. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1. Example of an IMAP LIST command . . . . . . . . . . . . . . . 6 4.2. Example of an IMAP CREATE command . . . . . . . . . . . . . . 7 5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 7 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 9.1. Normative References . . . . . . . . . . . . . . . . . . . . 8 9.2. Informative References . . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 8 Leiba & Nicolson Expires July 29, 2010 [Page 3] Internet-Draft IMAP LIST: special-use mailboxes January 2010 1. Introduction Some IMAP message stores include special-use mailboxes, such as those used to hold draft messages or sent messages. Many mail clients allow users to specify where draft or sent messages should be put, but configuring them requires that the user know which mailboxes the server has set aside for these purposes. This extension adds new mailbox flags that a server MAY include in IMAP LIST command responses to identify special-use mailboxes to the client, easing configuration. In addition, this extension adds an OPTIONAL parameter on the IMAP CREATE command, allowing a client to assign a special use to a mailbox when it is created. Servers MAY choose to support this part of the extension, but are not required to. 1.1. Conventions used in this document In examples, "C:" indicates lines sent by a client that is connected to a server. "S:" indicates lines sent by the server to the client. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [Kwds]. 2. New mailbox flags identifying special-use mailboxes An IMAP server that supports this extension MAY include any or all of the following flags in responses to the IMAP LIST command. The new flags are included along with existing flags, such as "\Marked" and "\Noselect". A given mailbox may have none, one, or more than one of these flags. In some cases, a special use is advice to a client about what to put in that mailbox. In other cases, it's advice to a client about what to expect to find there. The new flags defined here are as follows: \Drafts This mailbox is used to hold draft messages -- typically, messages that are being composed but have not yet been sent. In some server implementations, this might be a virtual mailbox, containing messages from other mailboxes that are marked with the "\Draft" message flag. Alternatively, this might just be advice that a client put drafts here. Leiba & Nicolson Expires July 29, 2010 [Page 4] Internet-Draft IMAP LIST: special-use mailboxes January 2010 \Inbox This mailbox is the inbox, where new incoming mail is placed by default. This will normally be the same as the mailbox with the name "inbox", as defined in the base IMAP protocol [IMAP]. \Sent This mailbox is used to hold copies of messages that have been sent. Some server implementations might put messages here automatically. Alternatively, this might just be advice that a client save sent messages here. \Spam This mailbox is where messages deemed to be "spam" (junk mail) are held. Some server implementations might put messages here automatically. Alternatively, this might just be advice to a client-side spam filter. \Starred This mailbox presents all messages marked as "important". When this special use is supported, it is likely to represent a virtual mailbox containing messages from other mailboxes that are marked with the "\Flagged" message flag. \Trash This mailbox is used to hold messages that have been deleted, or marked for deletion. In some server implementations, this might be a virtual mailbox, containing messages from other mailboxes that are marked with the "\Deleted" message flag. Alternatively, this might just be advice that a client that chooses not to use the IMAP "\Deleted" model should use this as its trash location. In server implementations that strictly expect the IMAP "\Deleted" model, this special use is likely not to be supported. \AllMail This mailbox presents all messages in the user's message store. Implementations MAY omit some messages, such as, perhaps, those in \Trash and \Spam. When this special use is supported, it is almost certain to represent a virtual mailbox. All of the above flags are OPTIONAL, and any given server or message store may support any combination of the flags, or none at all. There is no capability string associated with this feature. 3. Extension to IMAP CREATE command to set special-use flags As an OPTIONAL feature, a server MAY allow clients to designate a Leiba & Nicolson Expires July 29, 2010 [Page 5] Internet-Draft IMAP LIST: special-use mailboxes January 2010 mailbox, at creation, as having one or more special uses. This extension defines the "USE" parameter to the IMAP CREATE command for that purpose. The new OPTIONAL "USE" parameter is followed by a parenthesized list of zero or more special-use flags, as defined above. In some server implementations, some special uses may imply automatic action by the server. For example, creation of a "\Spam" mailbox might cause the server to start placing messages that have been evaluated as spam into the mailbox. In some server implementations, some special uses may result in a mailbox with unusual characteristics. For example, creation of an "\AllMail" mailbox might cause the server to create a virtual mailbox, rather than a standard one, and that mailbox might behave in unexpected ways (COPY into it might fail, for example). Servers MAY allow the creation of a special-use mailbox even if one so designated already exists, having the effect of moving the special use from the old mailbox to the new one. Alternatively, servers MAY refuse the creation, considering the designation to be a conflict. If the server can not create a mailbox with the designated special use defined, for whatever reason, it MUST NOT create the mailbox, and MUST respond to the CREATE command with a tagged NO response. An IMAP server that supports this OPTIONAL feature will advertise the CREATE-SPECIAL-USE capability string. Clients MUST NOT use the "USE" parameter unless the server advertises the capability. 4. Examples 4.1. Example of an IMAP LIST command This example shows an IMAP LIST response from a server that supports this extension. Note that not all of the flags are used. This server also supports the Child Mailbox extension [Child]. C: t1 LIST "" "%" S: * LIST (\Marked \HasNoChildren) "/" Inbox S: * LIST () "/" ToDo S: * LIST (\HasChildren) "/" Projects S: * LIST (\Sent) "/" SentMail S: * LIST (\Marked \Drafts) "/" MyDrafts S: * LIST (\Trash) "/" Trash S: t1 OK done Leiba & Nicolson Expires July 29, 2010 [Page 6] Internet-Draft IMAP LIST: special-use mailboxes January 2010 4.2. Example of an IMAP CREATE command This example shows an IMAP CREATE command that might be used to create a mailbox designated to hold draft and sent messages. It also attempts to create a mailbox that will contain all the user's messages, but the server does not support that special use for this user's message store. C: t1 CAPABILITY S: * CAPABILITY IMAP4rev1 CREATE-SPECIAL-USE S: t1 OK done C: t2 CREATE MySpecial USE (\Drafts \Sent) S: t2 OK MySpecial created C: t3 CREATE Everything USE (\AllMail) S: t3 NO \AllMail not supported 5. Formal Syntax The following syntax specification uses the augmented Backus-Naur Form (BNF) as described in [ABNF]. create =/ "CREATE" SP mailbox [SP use-param] ; Extends "create" from IMAP base [IMAP] mbx-list-oflag =/ use-flag ; Extends "mbx-list-oflag" from IMAP base [IMAP] use-param = "USE" SP "(" [use-flag *(SP use-flag)] ")" use-flag = "\AllMail" / "\Drafts" / "\Inbox" / "\Sent" / "\Spam" / "\Starred" / "\Trash" / use-flag-ext use-flag-ext = "\" atom ; Reserved for future extensions. Clients ; MUST ignore list flags they do not understand ; Server implementations MUST NOT generate ; extension flags except as defined by ; future standards-track revisions of or ; extensions to this specification. 6. Security Considerations LIST response: There are no security issues with conveying special- use information to a client. CREATE command "USE" parameter: In some server implementations, some Leiba & Nicolson Expires July 29, 2010 [Page 7] Internet-Draft IMAP LIST: special-use mailboxes January 2010 special uses may imply automatic action by the server. For example, creation of a "\Spam" mailbox might cause the server to start placing messages that have been evaluated as spam into the mailbox. Server implementors SHOULD consider the consequences of allowing a user (or client program) to designate the target of such automatic action. 7. IANA Considerations This document defines a new IMAP capability. IANA is asked to add "CREATE-SPECIAL-USE" to the imap4-capabilities registry. 8. Acknowledgements None yet... 9. References 9.1. Normative References [ABNF] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", RFC 5234, January 2008. [IMAP] Crispin, M., Ed., "Internet Message Access Protocol", RFC 3501, March 2003. [Kwds] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, March 1997. 9.2. Informative References [Child] Gahrns, M. and R. Cheng, "The Internet Message Action Protocol (IMAP4) Child Mailbox Extension", RFC 3348, July 2002. Authors' Addresses Barry Leiba Huawei Technologies Phone: +1 646 827 0648 Email: barryleiba@computer.org URI: http://internetmessagingtechnology.org/ Leiba & Nicolson Expires July 29, 2010 [Page 8] Internet-Draft IMAP LIST: special-use mailboxes January 2010 Jamie Nicolson Google Email: nicolson@google.com Leiba & Nicolson Expires July 29, 2010 [Page 9]