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]