Contexts for IMAP4
RFC 5267
Document | Type |
RFC - Proposed Standard
(July 2008; No errata)
Updated by RFC 5465
Was draft-cridland-imap-context (individual in app area)
|
|
---|---|---|---|
Authors | Dave Cridland , Curtis King | ||
Last updated | 2015-10-14 | ||
Stream | IETF | ||
Formats | plain text html pdf htmlized bibtex | ||
Reviews | |||
Stream | WG state | (None) | |
Document shepherd | No shepherd assigned | ||
IESG | IESG state | RFC 5267 (Proposed Standard) | |
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | Chris Newman | ||
Send notices to | alexey.melnikov@isode.com |
Network Working Group D. Cridland Request for Comments: 5267 C. King Category: Standards Track Isode Limited July 2008 Contexts for IMAP4 Status of This Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Abstract The IMAP4rev1 protocol has powerful search facilities as part of the core protocol, but lacks the ability to create live, updated results that can be easily handled. This memo provides such an extension, and shows how it can be used to provide a facility similar to virtual mailboxes. Cridland & King Standards Track [Page 1] RFC 5267 IMAP CONTEXT July 2008 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions Used in This Document . . . . . . . . . . . . . . 3 3. Extended Sort Syntax . . . . . . . . . . . . . . . . . . . . . 3 3.1. ESORT Extension . . . . . . . . . . . . . . . . . . . . . 4 3.2. Ranges in Extended Sort Results . . . . . . . . . . . . . 4 3.3. Extended SORT Example . . . . . . . . . . . . . . . . . . 4 4. Contexts . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.2. Context Hint . . . . . . . . . . . . . . . . . . . . . . . 5 4.3. Notifications of Changes . . . . . . . . . . . . . . . . . 6 4.3.1. Refusing to Update Contexts . . . . . . . . . . . . . 7 4.3.2. Common Features of ADDTO and REMOVEFROM . . . . . . . 8 4.3.3. ADDTO Return Data Item . . . . . . . . . . . . . . . . 8 4.3.4. REMOVEFROM Return Data Item . . . . . . . . . . . . . 9 4.3.5. The CANCELUPDATE Command . . . . . . . . . . . . . . . 10 4.4. Partial Results . . . . . . . . . . . . . . . . . . . . . 10 4.5. Caching Results . . . . . . . . . . . . . . . . . . . . . 11 5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 12 6. Security Considerations . . . . . . . . . . . . . . . . . . . 13 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 9.1. Normative References . . . . . . . . . . . . . . . . . . . 14 9.2. Informative References . . . . . . . . . . . . . . . . . . 14 Appendix A. Cookbook . . . . . . . . . . . . . . . . . . . . . . 15 A.1. Virtual Mailboxes . . . . . . . . . . . . . . . . . . . . 15 A.2. Trash Mailboxes . . . . . . . . . . . . . . . . . . . . . 15 A.3. Immediate EXPUNGE Notifications . . . . . . . . . . . . . 15 A.4. Monitoring Counts . . . . . . . . . . . . . . . . . . . . 15 A.5. Resynchronizing Contexts . . . . . . . . . . . . . . . . . 16 Appendix B. Server Implementation Notes . . . . . . . . . . . . . 16 Cridland & King Standards Track [Page 2] RFC 5267 IMAP CONTEXT July 2008 1. Introduction Although the basic SEARCH command defined in [IMAP], and as enhanced by [ESEARCH], is relatively compact in its representation, this reduction saves only a certain amount of data, and huge mailboxes might overwhelm the storage available for results on even relatively high-end desktop machines. The SORT command defined in [SORT] provides useful features, but is hard to use effectively on changing mailboxes over low-bandwidth connections. This memo borrows concepts from [ACAP], such as providing a windowed view onto search or sort results, and making updates that are bandwidth and round-trip efficient. These are provided by two extensions: "ESORT" and "CONTEXT". 2. Conventions Used in This Document In examples, "C:" and "S:" indicate lines sent by the client messaging user agent and IMAP4rev1 ([IMAP]) server, respectively. "//" indicates inline comments not part of the protocol exchange. Line breaks are liberally inserted for clarity. Examples are intended to be read in order, such that the state remains from one example to the next. Although the examples show a server that supports [ESEARCH], this is not a strict requirement of this specification. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in thisShow full document text