Network Working Group Y. Lu Internet Draft ZTE Corporation Intended status: Proposed Standard June 13, 2011 Expires: December 2011 IMAP4 Commands for Multi-Account Situations draft-lu-imap-multi-account-00.txt Status of this Memo This Internet-Draft is submitted 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 This Internet-Draft will expire on December 13, 2011. Copyright Notice Copyright (c) 2011 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 Simplified BSD License. Abstract Lu Expires December 13, 2011 [Page 1] Internet-Draft IMAP4 Multi-Account Commands June 2011 This document specifies the syntax of LISTA and SELECTA commands for the Internet Message Access Protocol [RFC3501]. With LISTA command, a client can obtain a list of all the accounts authenticated for the user. With SELECTA command, a client can select one of the user's authenticated accounts and then gain access to all the mailboxes belonging to that account, without having to log out of the current account. Table of Contents 1. Introduction ................................................. 2 2. Conventions used in this document ............................ 2 3. Authentication for Associated Accounts ....................... 3 4. Specification ................................................ 3 5. Security Considerations ...................................... 4 6. IANA Considerations .......................................... 4 7. References ................................................... 4 8. Acknowledgments .............................................. 4 1. Introduction In practice, it's often desirable for a user to exchange information among his/her multiple email accounts. However, according to the current Internet Message Access Protocol, Version 4rev1 (IMAP4rev1) [RFC3501], if a user needs to access an account after he/she has been authenticated for a different one, he/she has to first log out of the current account and then be re-authenticated for the desired account. This document introduces LISTA and SELECTA commands as extensions of the IMAP4rev1 protocol. With LISTA command, a client can obtain a list of all the authenticated accounts bound to a certain account. With SELECTA command, a client, in an authenticated state, can shift easily from one account to another associated account for which the client has also been authenticated. Before implementing this command, it is assumed that the client has already been authenticated for multiple associated accounts. The purpose of this SELECTA command is to allow the client to select one of those associated accounts and access its mailboxes or folders without having to log out of the current account and re-log into the desired one. 2. Conventions used in this document In examples, "C:" and "S:" indicate lines sent by the client and server respectively. Lu Expires December 13, 2011 [Page 2] Internet-Draft IMAP4 Multi-Account Commands June 2011 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 [RFC2119]. In this document, these words will appear with that interpretation only when in ALL CAPS. Lower case uses of these words are not to be interpreted as carrying RFC-2119 significance. 3. Authentication for Associated Accounts When a client is attempting to be authenticated for a certain account, the server SHOULD check that client's registration profile to find out whether or not there are any other accounts associated with that account. If the client is authenticated successfully for that certain account, it SHOULD also be authenticated automatically for all those associated accounts if present. 4. Specification LISTA Command Arguments: account identifier Responses: no specific responses for this command Result: OK - lista completed NO - lista failure: account identifier rejected BAD - command unknown or arguments invalid The LISTA command SHALL be implemented when the connection is in the authenticated state. The LISTA command returns a list of all the authenticated accounts bound to the one given as the argument. An OK response represents a valid listing. Example: C: A001 LISTA bob1@abcd.com S: * 2 EXISTS S: * LISTA bob1@abcd.com S: * LISTA bob2@defg.com S: A001 OK LISTA completed SELECTA Command Arguments: account identifier Responses: no specific responses for this command Lu Expires December 13, 2011 [Page 3] Internet-Draft IMAP4 Multi-Account Commands June 2011 Result: OK - selecta completed NO - selecta failure: account identifier rejected BAD - command unknown or arguments invalid The SELECTA command SHALL be implemented when the connection is in the authenticated state. The SELECTA command selects one of the accounts that the client has been authenticated for, as an active account. An OK response represents a valid selection and the succeeding operations are performed with respect to the selected message account. For instance, a SELECT command following a SELECTA command means the selection of a mailbox belonging to the account chosen by the SELECTA command. Example: C: A140 SELECTA bob1@abcd.com S: A140 OK SELECTA completed C: A141 SELECT INBOX S: * 172 EXISTS S: * 1 RECENT S: * OK [UNSEEN 12] Message 12 is first unseen S: * OK [UIDVALIDITY 3857529045] UIDs valid S: * OK [UIDNEXT 4392] Predicted next UID S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft) S: * OK [PERMANENTFLAGS (\Deleted \Seen \*)] Limited S: A141 OK [READ-WRITE] SELECT completed (The mailbox "INBOX" belonging to the account "bob1@abcd.com" has been selected.) 5. Security Considerations There are no known security issues with this extension. 6. IANA Considerations 7. References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3501] Crispin, M., "Internet Message Access Protocol - Version 4rev1", RFC 3501, March 2003. 8. Acknowledgments This document was prepared using 2-Word-v2.0.template.dot. Lu Expires December 13, 2011 [Page 4] Internet-Draft IMAP4 Multi-Account Commands June 2011 Authors' Addresses Yan LU ZTE Corporation 68 Zijinghua Road, Nanjing, China 210012 Email: luyan@zte.com.cn Jerry Shih AT&T Email: jerry.shih@ATT.COM Xin DING ZTE Corporation 68 Zijinghua Road, Nanjing, China 210012 Email: ding.xin@zte.com.cn Xiongwei Jia China Unicom Research Institute Email: jiaxw9@chinaunicom.cn Lu Expires December 13, 2011 [Page 5]