IMAPEXT Working Group A. Melnikov Internet Draft Isode Ltd. Document: draft-melnikov-imap-postaddress-00 March 2004 IMAP4 POSTADDRESS extension Status of this Memo This document is an Internet Draft and is in full conformance with all provisions of Section 10 of RFC 2026. 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. Internet Drafts may be updated, replaced, or obsoleted by other documents at any time. It is not appropriate 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. Directories on ds.internic.net, nic.nordu.net, ftp.isi.edu, or munnari.oz.au. 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. Distribution of this draft is unlimited. Table of Contents Abstract ..................................................... X 1 Conventions Used in this Document ......................... X 2 Introduction and Overview ................................. X 3 LIST with the POSTADDRESS parameter ....................... X 4 Extended LIST response with POSTADDRESS information ....... X 5 Formal Syntax ............................................. X 6 Security Considerations ................................... X 7 Normative References ...................................... X 8 Informative References .................................... X 9 Aknowledgement ............................................ X 10 Editor's Address ......................................... X 11 Full Copyright Statement ................................. X Abstract The POSTADDRESS extension of the Internet Message Access Protocol [IMAP4] permits a client to discover an email address that can be used to send messages to an IMAP mailbox. 1. Conventions Used in this Document In examples, "C:" and "S:" indicate lines sent by the client and server respectively. In all examples "/" character is used as hierarchy separator. 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 [KEYWORDS]. 2. Introduction and Overview IMAP POSTADDRESS extension can be used to discover an email address for a given IMAP mailbox. Many email clients support saving a copy of an outgoing message in "sent messages" or "outbox" mailbox. Typically, those email clients send the message first using SMTP. After that they upload a copy of the message using IMAP APPEND. Effectively, the message is sent twice: once using SMTP and once using IMAP. If the IMAP server supports the POSTADDRESS extension, the mail client can avoid uploading a copy of the message using IMAP APPEND. This can be achieved by specifying an additional recipient, returned by LIST (POSTADDRESS) command, during the SMTP transaction. <> A server that supports POSTADDRESS parameter to the LIST command SHALL return "POSTADDRESS" in its capability response. 3. LIST command with the POSTADDRESS parameter This document defines a new option POSTADDRESS to the LIST command that requests the server to return an email address that can be used to post email to a mailbox, that matches the LIST mailbox name. The POSTADDRESS option causes the server to return LIST with POSTADDRESS information (see section 4). If posting to the mailbox is not allowed or not supported the server MUST return NIL. For example, if the server also supports [ACL] extension and if the user that is issuing LIST (POSTADDRESS) doesn't have "p" right on the mailbox, the extended LIST response MUST return NIL in POSTADDRESS information. Also note, that if the server also supports [ACL] extension and if the user doesn't have either "l" or "r" right on the mailbox, the server MUST NOT disclose the mailbox existence. Example: C: A002 LIST (POSTADDRESS) "" INBOX S: * LIST () "/" INBOX (("POSTADDRESS" "user1@example.com")) S: A002 OK List with postaddress info completed Example: C: A002 LIST (POSTADDRESS) "" inbox.Drafts S: * LIST () "/" inbox.Drafts (("POSTADDRESS" NIL)) S: A002 OK List with postaddress info completed 4. Extended LIST response with POSTADDRESS information Contents: name attributes hierarchy delimiter mailbox name email address for posting to the mailbox This version of LIST response occurs as a result of a LIST (POSTADDRESS) command. The proposed syntax conforms to the syntax of an extended LIST response as defined by mbox-list-extended ABNF element of [LISTEXT]. The meaning of "name attributes" and "hierarchy delimiter" is described in section 7.2.2 of [IMAP4]. This is followed by the extension part that includes "POSTADDRESS" tag followed by an email address that can be used to post email to the mailbox. Example: S: * LIST () "/" Sent (("POSTADDRESS" "user+Sent@example.com")) 5. Formal Syntax Formal syntax is defined using ABNF [ABNF] as modified by [IMAP4]. Non-terminals referenced but not defined below are as defined by [IMAP4] or [LISTEXT]. Except as noted otherwise, all alphabetic characters are case-insensitive. The use of upper or lower case characters to define token strings is for editorial clarity only. Implementations MUST accept these strings in a case-insensitive fashion. option =/ "POSTADDRESS" ;;