564 lines
21 KiB
Plaintext
564 lines
21 KiB
Plaintext
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Internet Engineering Task Force (IETF) B. Leiba
|
|||
|
Request for Comments: 6237 Huawei Technologies
|
|||
|
Updates: 4466 A. Melnikov
|
|||
|
Category: Experimental Isode Limited
|
|||
|
ISSN: 2070-1721 May 2011
|
|||
|
|
|||
|
|
|||
|
IMAP4 Multimailbox SEARCH Extension
|
|||
|
|
|||
|
Abstract
|
|||
|
|
|||
|
The IMAP4 specification allows the searching of only the selected
|
|||
|
mailbox. A user often wants to search multiple mailboxes, and a
|
|||
|
client that wishes to support this must issue a series of SELECT and
|
|||
|
SEARCH commands, waiting for each to complete before moving on to the
|
|||
|
next. This extension allows a client to search multiple mailboxes
|
|||
|
with one command, limiting the round trips and waiting for various
|
|||
|
searches to complete, and not requiring disruption of the currently
|
|||
|
selected mailbox. This extension also uses MAILBOX and TAG fields in
|
|||
|
ESEARCH responses, allowing a client to pipeline the searches if it
|
|||
|
chooses. This document updates RFC 4466.
|
|||
|
|
|||
|
Status of This Memo
|
|||
|
|
|||
|
This document is not an Internet Standards Track specification; it is
|
|||
|
published for examination, experimental implementation, and
|
|||
|
evaluation.
|
|||
|
|
|||
|
This document defines an Experimental Protocol for the Internet
|
|||
|
community. This document is a product of the Internet Engineering
|
|||
|
Task Force (IETF). It represents the consensus of the IETF
|
|||
|
community. It has received public review and has been approved for
|
|||
|
publication by the Internet Engineering Steering Group (IESG). Not
|
|||
|
all documents approved by the IESG are a candidate for any level of
|
|||
|
Internet Standard; see Section 2 of RFC 5741.
|
|||
|
|
|||
|
Information about the current status of this document, any errata,
|
|||
|
and how to provide feedback on it may be obtained at
|
|||
|
http://www.rfc-editor.org/info/rfc6237.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Leiba & Melnikov Experimental [Page 1]
|
|||
|
|
|||
|
RFC 6237 IMAP4 Multimailbox SEARCH Extension May 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.
|
|||
|
|
|||
|
Table of Contents
|
|||
|
|
|||
|
1. Introduction ....................................................2
|
|||
|
1.1. Conventions Used in This Document ..........................3
|
|||
|
2. New ESEARCH Command .............................................3
|
|||
|
2.1. The ESEARCH Response .......................................4
|
|||
|
2.2. Source Options: Specifying Mailboxes to Search .............5
|
|||
|
3. Examples ........................................................6
|
|||
|
4. Formal Syntax ...................................................7
|
|||
|
5. Security Considerations .........................................8
|
|||
|
6. IANA Considerations .............................................9
|
|||
|
7. Acknowledgements ................................................9
|
|||
|
8. Normative References ............................................9
|
|||
|
|
|||
|
1. Introduction
|
|||
|
|
|||
|
The IMAP4 specification allows the searching of only the selected
|
|||
|
mailbox. A user often wants to search multiple mailboxes, and a
|
|||
|
client that wishes to support this must issue a series of SELECT and
|
|||
|
SEARCH commands, waiting for each to complete before moving on to the
|
|||
|
next. The commands can't be pipelined, because the server might run
|
|||
|
them in parallel, and the untagged SEARCH responses could not then be
|
|||
|
distinguished from each other.
|
|||
|
|
|||
|
This extension allows a client to search multiple mailboxes with one
|
|||
|
command, and includes MAILBOX and TAG fields in the ESEARCH response,
|
|||
|
yielding the following advantages:
|
|||
|
|
|||
|
o A single command limits the number of round trips needed to search
|
|||
|
a set of mailboxes.
|
|||
|
|
|||
|
o A single command eliminates the need to wait for one search to
|
|||
|
complete before starting the next.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Leiba & Melnikov Experimental [Page 2]
|
|||
|
|
|||
|
RFC 6237 IMAP4 Multimailbox SEARCH Extension May 2011
|
|||
|
|
|||
|
|
|||
|
o A single command allows the server to optimize the search, if it
|
|||
|
can.
|
|||
|
|
|||
|
o A command that is not dependent upon the selected mailbox
|
|||
|
eliminates the need to disrupt the selection state or to open
|
|||
|
another IMAP connection.
|
|||
|
|
|||
|
o The MAILBOX, UIDVALIDITY, and TAG fields in the responses allow a
|
|||
|
client to distinguish which responses go with which search (and
|
|||
|
which mailbox). A client can safely pipeline these search
|
|||
|
commands without danger of confusion. The addition of the MAILBOX
|
|||
|
and UIDVALIDITY fields updates the search-correlator item defined
|
|||
|
in [RFC4466].
|
|||
|
|
|||
|
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 [RFC2119].
|
|||
|
|
|||
|
2. New ESEARCH Command
|
|||
|
|
|||
|
Arguments: OPTIONAL source options
|
|||
|
OPTIONAL result options
|
|||
|
OPTIONAL charset specification (see [RFC2978])
|
|||
|
searching criteria (one or more)
|
|||
|
|
|||
|
Responses: REQUIRED untagged response: ESEARCH
|
|||
|
|
|||
|
Result: OK -- search completed
|
|||
|
NO -- error: cannot search that charset or criteria
|
|||
|
BAD -- command unknown or arguments invalid
|
|||
|
|
|||
|
This section defines a new ESEARCH command, which works similarly to
|
|||
|
the UID SEARCH command described in Section 2.6.1 of [RFC4466]
|
|||
|
(initially described in Section 6.4.4 of [RFC3501] and extended by
|
|||
|
[RFC4731]).
|
|||
|
|
|||
|
The ESEARCH command further extends searching by allowing for
|
|||
|
optional source and result options. This document does not define
|
|||
|
any new result options (see Section 3.1 of [RFC4731]). A server that
|
|||
|
supports this extension includes "MULTISEARCH" in its IMAP capability
|
|||
|
string.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Leiba & Melnikov Experimental [Page 3]
|
|||
|
|
|||
|
RFC 6237 IMAP4 Multimailbox SEARCH Extension May 2011
|
|||
|
|
|||
|
|
|||
|
Because there has been confusion about this, it is worth pointing out
|
|||
|
that with ESEARCH, as with *any* SEARCH or UID SEARCH command, it
|
|||
|
MUST NOT be considered an error if the search terms include a range
|
|||
|
of message numbers that extends (or, in fact, starts) beyond the end
|
|||
|
of the mailbox. For example, a client might want to establish a
|
|||
|
rolling window through the search results this way:
|
|||
|
|
|||
|
C: tag1 UID ESEARCH FROM "frobozz" 1:100
|
|||
|
|
|||
|
...followed later by this:
|
|||
|
|
|||
|
C: tag1 UID ESEARCH FROM "frobozz" 101:200
|
|||
|
|
|||
|
...and so on. This tells the server to match only the first hundred
|
|||
|
messages in the mailbox the first time, the second hundred the second
|
|||
|
time, etc. In fact, it might likely allow the server to optimize the
|
|||
|
search significantly. In the above example, whether the mailbox
|
|||
|
contains 50 or 150 or 250 messages, neither of the search commands
|
|||
|
shown will result in an error. It is up to the client to know when
|
|||
|
to stop moving its search window.
|
|||
|
|
|||
|
2.1. The ESEARCH Response
|
|||
|
|
|||
|
In response to an ESEARCH command, the server MUST return ESEARCH
|
|||
|
responses [RFC4731] (that is, not SEARCH responses). Because message
|
|||
|
numbers are not useful for mailboxes that are not selected, the
|
|||
|
responses MUST contain information about UIDs, not message numbers.
|
|||
|
This is true even if the source options specify that only the
|
|||
|
selected mailbox be searched.
|
|||
|
|
|||
|
Presence of a source option in the absence of a result option implies
|
|||
|
the "ALL" result option (see Section 3.1 of [RFC4731]). Note that
|
|||
|
this is not the same as the result from the SEARCH command described
|
|||
|
in the IMAP base protocol [RFC3501].
|
|||
|
|
|||
|
Source options describe which mailboxes must be searched for
|
|||
|
messages. An ESEARCH command with source options does not affect
|
|||
|
which mailbox, if any, is currently selected, regardless of which
|
|||
|
mailboxes are searched.
|
|||
|
|
|||
|
For each mailbox satisfying the source options, a single ESEARCH
|
|||
|
response MUST be returned if any messages in that mailbox match the
|
|||
|
search criteria. An ESEARCH response MUST NOT be returned for
|
|||
|
mailboxes that contain no matching messages. This is true even when
|
|||
|
result options such as MIN, MAX, and COUNT are specified (see
|
|||
|
Section 3.1 of [RFC4731]), and the values returned (lowest UID
|
|||
|
matched, highest UID matched, and number of messages matched,
|
|||
|
respectively) apply to the mailbox reported in that ESEARCH response.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Leiba & Melnikov Experimental [Page 4]
|
|||
|
|
|||
|
RFC 6237 IMAP4 Multimailbox SEARCH Extension May 2011
|
|||
|
|
|||
|
|
|||
|
Note that it is possible for an ESEARCH command to return *no*
|
|||
|
untagged responses (no ESEARCH responses at all), in the case that
|
|||
|
there are no matches to the search in any of the mailboxes that
|
|||
|
satisfy the source options. Clients can detect this situation by
|
|||
|
finding the tagged OK response without having received any matching
|
|||
|
untagged ESEARCH responses.
|
|||
|
|
|||
|
Each ESEARCH response MUST contain the MAILBOX, TAG, and UIDVALIDITY
|
|||
|
correlators. Correlators allow clients to issue several ESEARCH
|
|||
|
commands at once (pipelined). If the SEARCHRES [RFC5182] extension
|
|||
|
is used in an ESEARCH command, that ESEARCH command MUST be executed
|
|||
|
by the server after all previous SEARCH/ESEARCH commands have
|
|||
|
completed and before any subsequent SEARCH/ESEARCH commands are
|
|||
|
executed. The server MAY perform consecutive ESEARCH commands in
|
|||
|
parallel as long as none of them use the SEARCHRES extension.
|
|||
|
|
|||
|
2.2. Source Options: Specifying Mailboxes to Search
|
|||
|
|
|||
|
The source options, if present, MUST contain a mailbox specifier as
|
|||
|
defined in the IMAP NOTIFY extension [RFC5465], Section 6 (using the
|
|||
|
"filter-mailboxes" ABNF item), with the following differences:
|
|||
|
|
|||
|
1. The "selected-delayed" specifier is not valid here.
|
|||
|
|
|||
|
2. A "subtree-one" specifier is added. The "subtree" specifier
|
|||
|
results in a search of the specified mailbox and all selectable
|
|||
|
mailboxes that are subordinate to it, through an indefinitely
|
|||
|
deep hierarchy. The "subtree-one" specifier results in a search
|
|||
|
of the specified mailbox and all selectable child mailboxes, one
|
|||
|
hierarchy level down.
|
|||
|
|
|||
|
If "subtree" is specified, the server MUST defend against loops in
|
|||
|
the hierarchy (for example, those caused by recursive file-system
|
|||
|
links within the message store). The server SHOULD do this by
|
|||
|
keeping track of the mailboxes that have been searched, and
|
|||
|
terminating the hierarchy traversal when a repeat is found. If it
|
|||
|
cannot do that, it MAY do it by limiting the hierarchy depth.
|
|||
|
|
|||
|
If the source options are not present, the value "selected" is
|
|||
|
assumed -- that is, only the currently selected mailbox is searched.
|
|||
|
|
|||
|
The "personal" source option is a particularly convenient way to
|
|||
|
search all of the current user's mailboxes. Note that there is no
|
|||
|
way to use wildcard characters to search all mailboxes; the
|
|||
|
"mailboxes" source option does not do wildcard expansion.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Leiba & Melnikov Experimental [Page 5]
|
|||
|
|
|||
|
RFC 6237 IMAP4 Multimailbox SEARCH Extension May 2011
|
|||
|
|
|||
|
|
|||
|
If the source options include (or default to) "selected", the IMAP
|
|||
|
session MUST be in "selected" state. If the source options specify
|
|||
|
other mailboxes and NOT "selected", then the IMAP session MUST be in
|
|||
|
either "selected" or "authenticated" state. If the session is not in
|
|||
|
a correct state, the ESEARCH command MUST return a "BAD" result.
|
|||
|
|
|||
|
If the server supports the SEARCHRES [RFC5182] extension, then the
|
|||
|
"SAVE" result option is valid *only* if "selected" is specified or
|
|||
|
defaulted as the sole mailbox to be searched. If any source option
|
|||
|
other than "selected" is specified, the ESEARCH command MUST return a
|
|||
|
"BAD" result.
|
|||
|
|
|||
|
If the server supports the CONTEXT=SEARCH and/or CONTEXT=SORT
|
|||
|
extension [RFC5267], then the following additional rules apply:
|
|||
|
|
|||
|
o The CONTEXT return option (Section 4.2 of [RFC5267]) can be used
|
|||
|
with an ESEARCH command.
|
|||
|
|
|||
|
o If the UPDATE return option is used (Section 4.3 of [RFC5267]), it
|
|||
|
MUST apply ONLY to the currently selected mailbox. If UPDATE is
|
|||
|
used and there is no mailbox currently selected, the ESEARCH
|
|||
|
command MUST return a "BAD" result.
|
|||
|
|
|||
|
o The PARTIAL search return option (Section 4.4 of [RFC5267]) can be
|
|||
|
used and applies to each mailbox searched by the ESEARCH command.
|
|||
|
|
|||
|
If the server supports the Access Control List (ACL) [RFC4314]
|
|||
|
extension, then the logged-in user is required to have the "r" right
|
|||
|
for each mailbox she wants to search. In addition, any mailboxes
|
|||
|
that are not explicitly named (accessed through "personal" or
|
|||
|
"subtree", for example) are required to have the "l" right.
|
|||
|
Mailboxes matching the source options for which the logged-in user
|
|||
|
lacks sufficient rights MUST be ignored by the ESEARCH command
|
|||
|
processing. In particular, ESEARCH responses MUST NOT be returned
|
|||
|
for those mailboxes.
|
|||
|
|
|||
|
3. Examples
|
|||
|
|
|||
|
In the following example, note that two ESEARCH commands are
|
|||
|
pipelined, and that the server is running them in parallel,
|
|||
|
interleaving a response to the second search amid the responses to
|
|||
|
the first (watch the tags).
|
|||
|
|
|||
|
C: tag1 ESEARCH IN (mailboxes "folder1" subtree "folder2") unseen
|
|||
|
C: tag2 ESEARCH IN (mailboxes "folder1" subtree-one "folder2")
|
|||
|
subject "chad"
|
|||
|
S: * ESEARCH (TAG "tag1" MAILBOX "folder1" UIDVALIDITY 1) UID ALL
|
|||
|
4001,4003,4005,4007,4009
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Leiba & Melnikov Experimental [Page 6]
|
|||
|
|
|||
|
RFC 6237 IMAP4 Multimailbox SEARCH Extension May 2011
|
|||
|
|
|||
|
|
|||
|
S: * ESEARCH (TAG "tag2" MAILBOX "folder1" UIDVALIDITY 1) UID ALL
|
|||
|
3001:3004,3788
|
|||
|
S: * ESEARCH (TAG "tag1" MAILBOX "folder2/banana" UIDVALIDITY 503)
|
|||
|
UID ALL 3002,4004
|
|||
|
S: * ESEARCH (TAG "tag1" MAILBOX "folder2/peach" UIDVALIDITY 3) UID
|
|||
|
ALL 921691
|
|||
|
S: tag1 OK done
|
|||
|
S: * ESEARCH (TAG "tag2" MAILBOX "folder2/salmon" UIDVALIDITY
|
|||
|
1111111) UID ALL 50003,50006,50009,50012
|
|||
|
S: tag2 OK done
|
|||
|
|
|||
|
4. Formal Syntax
|
|||
|
|
|||
|
The following syntax specification uses the Augmented Backus-Naur
|
|||
|
Form (ABNF) as described in [RFC5234]. Terms not defined here are
|
|||
|
taken from [RFC3501], [RFC5465], or [RFC4466].
|
|||
|
|
|||
|
command-auth =/ esearch
|
|||
|
; Update definition from IMAP base [RFC3501].
|
|||
|
; Add new "esearch" command.
|
|||
|
|
|||
|
command-select =/ esearch
|
|||
|
; Update definition from IMAP base [RFC3501].
|
|||
|
; Add new "esearch" command.
|
|||
|
|
|||
|
filter-mailboxes-other =/ ("subtree-one" SP one-or-more-mailbox)
|
|||
|
; Update definition from IMAP Notify [RFC5465].
|
|||
|
; Add new "subtree-one" selector.
|
|||
|
|
|||
|
filter-mailboxes-selected = "selected"
|
|||
|
; Update definition from IMAP Notify [RFC5465].
|
|||
|
; We forbid the use of "selected-delayed".
|
|||
|
|
|||
|
one-correlator = ("TAG" SP tag-string) / ("MAILBOX" SP astring) /
|
|||
|
("UIDVALIDITY" SP nz-number)
|
|||
|
; Each correlator MUST appear exactly once.
|
|||
|
|
|||
|
scope-option = scope-option-name [SP scope-option-value]
|
|||
|
; No options defined here. Syntax for future extensions.
|
|||
|
|
|||
|
scope-option-name = tagged-ext-label
|
|||
|
; No options defined here. Syntax for future extensions.
|
|||
|
|
|||
|
scope-option-value = tagged-ext-val
|
|||
|
; No options defined here. Syntax for future extensions.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Leiba & Melnikov Experimental [Page 7]
|
|||
|
|
|||
|
RFC 6237 IMAP4 Multimailbox SEARCH Extension May 2011
|
|||
|
|
|||
|
|
|||
|
scope-options = scope-option *(SP scope-option)
|
|||
|
; A given option may only appear once.
|
|||
|
; No options defined here. Syntax for future extensions.
|
|||
|
|
|||
|
esearch = "ESEARCH" [SP esearch-source-opts]
|
|||
|
[SP search-return-opts] SP search-program
|
|||
|
|
|||
|
search-correlator = SP "(" one-correlator *(SP one-correlator) ")"
|
|||
|
; Updates definition in IMAP4 ABNF [RFC4466].
|
|||
|
|
|||
|
esearch-source-opts = "IN" SP "(" source-mbox [SP
|
|||
|
"(" scope-options ")"] ")"
|
|||
|
|
|||
|
source-mbox = filter-mailboxes *(SP filter-mailboxes)
|
|||
|
; "filter-mailboxes" is defined in IMAP Notify [RFC5465].
|
|||
|
; See updated definition of filter-mailboxes-other, above.
|
|||
|
; See updated definition of filter-mailboxes-selected, above.
|
|||
|
|
|||
|
5. Security Considerations
|
|||
|
|
|||
|
This new IMAP ESEARCH command allows a single command to search many
|
|||
|
mailboxes at once. On the one hand, a client could do that by
|
|||
|
sending many IMAP SEARCH commands. On the other hand, this makes it
|
|||
|
easier for a client to overwork a server, by sending a single command
|
|||
|
that results in an expensive search of tens of thousands of
|
|||
|
mailboxes. Server implementations need to be aware of that, and
|
|||
|
provide mechanisms that prevent a client from adversely affecting
|
|||
|
other users. Limitations on the number of mailboxes that may be
|
|||
|
searched in one command, and/or on the server resources that will be
|
|||
|
devoted to responding to a single client, are reasonable limitations
|
|||
|
for an implementation to impose.
|
|||
|
|
|||
|
Implementations MUST, of course, apply access controls appropriately,
|
|||
|
limiting a user's access to ESEARCH in the same way its access is
|
|||
|
limited for any other IMAP commands. This extension has no data-
|
|||
|
access risks beyond what may be there in the unextended IMAP
|
|||
|
implementation.
|
|||
|
|
|||
|
Mailboxes matching the source options for which the logged-in user
|
|||
|
lacks sufficient rights MUST be ignored by the ESEARCH command
|
|||
|
processing (see the paragraph about this in Section 2.2). In
|
|||
|
particular, any attempt to distinguish insufficient access from
|
|||
|
non-existent mailboxes may expose information about the mailbox
|
|||
|
hierarchy that isn't otherwise available to the client.
|
|||
|
|
|||
|
If "subtree" is specified, the server MUST defend against loops in
|
|||
|
the hierarchy (see the paragraph about this in Section 2.2).
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Leiba & Melnikov Experimental [Page 8]
|
|||
|
|
|||
|
RFC 6237 IMAP4 Multimailbox SEARCH Extension May 2011
|
|||
|
|
|||
|
|
|||
|
6. IANA Considerations
|
|||
|
|
|||
|
IMAP4 capabilities are registered by publishing a Standards Track or
|
|||
|
IESG-approved Experimental RFC. The "IMAP 4 Capabilities" registry
|
|||
|
is currently located here:
|
|||
|
|
|||
|
http://www.iana.org/
|
|||
|
|
|||
|
This document defines the IMAP capability "MULTISEARCH", and IANA has
|
|||
|
added it to the registry.
|
|||
|
|
|||
|
7. Acknowledgements
|
|||
|
|
|||
|
The authors gratefully acknowledge feedback provided by Timo
|
|||
|
Sirainen, Peter Coates, and Arnt Gulbrandsen.
|
|||
|
|
|||
|
8. Normative References
|
|||
|
|
|||
|
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
|
|||
|
Requirement Levels", BCP 14, RFC 2119, March 1997.
|
|||
|
|
|||
|
[RFC2978] Freed, N. and J. Postel, "IANA Charset Registration
|
|||
|
Procedures", BCP 19, RFC 2978, October 2000.
|
|||
|
|
|||
|
[RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION
|
|||
|
4rev1", RFC 3501, March 2003.
|
|||
|
|
|||
|
[RFC4314] Melnikov, A., "IMAP4 Access Control List (ACL) Extension",
|
|||
|
RFC 4314, December 2005.
|
|||
|
|
|||
|
[RFC4466] Melnikov, A. and C. Daboo, "Collected Extensions to IMAP4
|
|||
|
ABNF", RFC 4466, April 2006.
|
|||
|
|
|||
|
[RFC4731] Melnikov, A. and D. Cridland, "IMAP4 Extension to SEARCH
|
|||
|
Command for Controlling What Kind of Information Is
|
|||
|
Returned", RFC 4731, November 2006.
|
|||
|
|
|||
|
[RFC5182] Melnikov, A., "IMAP Extension for Referencing the Last
|
|||
|
SEARCH Result", RFC 5182, March 2008.
|
|||
|
|
|||
|
[RFC5234] Crocker, D., Ed., and P. Overell, "Augmented BNF for
|
|||
|
Syntax Specifications: ABNF", STD 68, RFC 5234,
|
|||
|
January 2008.
|
|||
|
|
|||
|
[RFC5267] Cridland, D. and C. King, "Contexts for IMAP4", RFC 5267,
|
|||
|
July 2008.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Leiba & Melnikov Experimental [Page 9]
|
|||
|
|
|||
|
RFC 6237 IMAP4 Multimailbox SEARCH Extension May 2011
|
|||
|
|
|||
|
|
|||
|
[RFC5465] Gulbrandsen, A., King, C., and A. Melnikov, "The IMAP
|
|||
|
NOTIFY Extension", RFC 5465, February 2009.
|
|||
|
|
|||
|
Authors' Addresses
|
|||
|
|
|||
|
Barry Leiba
|
|||
|
Huawei Technologies
|
|||
|
|
|||
|
Phone: +1 646 827 0648
|
|||
|
EMail: barryleiba@computer.org
|
|||
|
URI: http://internetmessagingtechnology.org/
|
|||
|
|
|||
|
|
|||
|
Alexey Melnikov
|
|||
|
Isode Limited
|
|||
|
5 Castle Business Village
|
|||
|
36 Station Road
|
|||
|
Hampton, Middlesex TW12 2BX
|
|||
|
UK
|
|||
|
|
|||
|
EMail: Alexey.Melnikov@isode.com
|
|||
|
URI: http://www.melnikov.ca/
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Leiba & Melnikov Experimental [Page 10]
|
|||
|
|