< draft-melnikov-imap-partial-00.txt   draft-melnikov-imap-partial-01.txt >
Network Working Group A. Melnikov Network Working Group A. Melnikov
Internet-Draft Isode Internet-Draft Isode
Updates: 5267, 4731 (if approved) A. P. Achuthan Updates: 5267, 4731 (if approved) A. P. Achuthan
Intended status: Standards Track V. Nagulakonda Intended status: Standards Track V. Nagulakonda
Expires: 25 April 2022 Yahoo! Expires: 20 May 2022 Yahoo!
L. Alves L. Alves
Verizon Verizon
22 October 2021 16 November 2021
IMAP Paged SEARCH & FETCH Extension IMAP Paged SEARCH & FETCH Extension
draft-melnikov-imap-partial-00 draft-melnikov-imap-partial-01
Abstract Abstract
The PARTIAL extension of the Internet Message Access Protocol (RFC The PARTIAL extension of the Internet Message Access Protocol (RFC
3501/RFC 9051) allows clients to limit the number of search results 3501/RFC 9051) allows clients to limit the number of search results
returned, as well as to perform incremental (paged) searches. This returned, as well as to perform incremental (paged) searches. This
also helps servers to optimize resource usage when performing also helps servers to optimize resource usage when performing
searches. searches.
This document extends PARTIAL SEARCH return option originally This document extends PARTIAL SEARCH return option originally
specified in RFC 5267. It also clarifies some interactions between specified in RFC 5267. It also clarifies some interactions between
RFC 5267 and RFC 4731/RFC 9051. RFC 5267 and RFC 4731/RFC 9051.
This document also describes the MESSAGELIMIT extension for
announcing a limit on the number of messages that can be processed in
a single FETCH/SEARCH/STORE/COPY/MOVE command.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on 25 April 2022. This Internet-Draft will expire on 20 May 2022.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2021 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
skipping to change at page 2, line 28 skipping to change at page 2, line 33
modifications of such material outside the IETF Standards Process. modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other it for publication as an RFC or to translate it into languages other
than English. than English.
Table of Contents Table of Contents
1. Introduction and Overview . . . . . . . . . . . . . . . . . . 2 1. Introduction and Overview . . . . . . . . . . . . . . . . . . 3
2. Document Conventions . . . . . . . . . . . . . . . . . . . . 3 2. Document Conventions . . . . . . . . . . . . . . . . . . . . 3
3. Incremental SEARCH and partial results . . . . . . . . . . . 3 3. The PARTIAL extension . . . . . . . . . . . . . . . . . . . . 3
4. Interaction between PARTIAL, MIN, MAX and SAVE SEARCH return 3.1. Incremental SEARCH and partial results . . . . . . . . . 4
options . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2. Interaction between PARTIAL, MIN, MAX and SAVE SEARCH
5. Extension to FETCH . . . . . . . . . . . . . . . . . . . . . 6 return options . . . . . . . . . . . . . . . . . . . . . 5
6. Expressing limits on a number of messages used in 3.3. Extension to UID FETCH . . . . . . . . . . . . . . . . . 6
SEARCH/FETCH/STORE/COPY/MOVE . . . . . . . . . . . . . . 6 3.4. Use of PARTIAL and CONDSTORE IMAP extensions together . . 7
7. Formal syntax . . . . . . . . . . . . . . . . . . . . . . . . 7 4. The MESSAGELIMIT extension . . . . . . . . . . . . . . . . . 7
8. Security Considerations . . . . . . . . . . . . . . . . . . . 8 4.1. Returning limits on the number of messages processed in a
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 single SEARCH/FETCH/STORE/COPY/MOVE command . . . . . . . 7
9.1. Changes/additions to the IMAP4 capabilities registry . . 8 5. Formal syntax . . . . . . . . . . . . . . . . . . . . . . . . 8
10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9 6. Security Considerations . . . . . . . . . . . . . . . . . . . 9
11. Normative References . . . . . . . . . . . . . . . . . . . . 9 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 7.1. Changes/additions to the IMAP4 capabilities registry . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 10
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 10
9.1. Normative References . . . . . . . . . . . . . . . . . . 10
9.2. Informative References . . . . . . . . . . . . . . . . . 10
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11
1. Introduction and Overview 1. Introduction and Overview
This document defines an extension to the Internet Message Access This document defines an extension to the Internet Message Access
Protocol [RFC3501] for performing incremental searches and fetches. Protocol [RFC3501] for performing incremental searches and fetches.
This extension is compatible with both IMAP4rev1 [RFC3501] and This extension is compatible with both IMAP4rev1 [RFC3501] and
IMAP4rev2 [RFC9051]. IMAP4rev2 [RFC9051].
The PARTIAL extension of the Internet Message Access Protocol (RFC The PARTIAL extension of the Internet Message Access Protocol (RFC
3501/RFC 9051) allows clients to limit the number of search results 3501/RFC 9051) allows clients to limit the number of search results
returned, as well as to perform incremental (paged) searches. This returned, as well as to perform incremental (paged) searches. This
also helps servers to optimize resource usage when performing also helps servers to optimize resource usage when performing
searches. searches.
This document extends PARTIAL SEARCH return option originally This document extends PARTIAL SEARCH return option originally
specified in RFC 5267. specified in RFC 5267. It also clarifies some interactions between
RFC 5267 and RFC 4731/RFC 9051.
This document also describes the MESSAGELIMIT extension for
announcing a limit on the number of messages that can be processed in
a single FETCH/SEARCH/STORE/COPY/MOVE command.
2. Document Conventions 2. Document Conventions
In protocol examples, this document uses a prefix of "C: " to denote In protocol examples, this document uses a prefix of "C: " to denote
lines sent by the client to the server, and "S: " for lines sent by lines sent by the client to the server, and "S: " for lines sent by
the server to the client. Lines prefixed with "// " are comments the server to the client. Lines prefixed with "// " are comments
explaining the previous protocol line. These prefixes and comments explaining the previous protocol line. These prefixes and comments
are not part of the protocol. Lines without any of these prefixes are not part of the protocol. Lines without any of these prefixes
are continuations of the previous line, and no line break is present are continuations of the previous line, and no line break is present
in the protocol unless specifically mentioned. in the protocol unless specifically mentioned.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
Other capitalised words are IMAP keywords [RFC3501][RFC9051] or Other capitalised words are IMAP keywords [RFC3501][RFC9051] or
keywords from this document. keywords from this document.
3. Incremental SEARCH and partial results 3. The PARTIAL extension
An IMAP server advertises support for the PARTIAL extension by
including "PARTIAL" capability in the CAPABILITY response/response
code.
3.1. Incremental SEARCH and partial results
The PARTIAL search return option causes the server to provide in an The PARTIAL search return option causes the server to provide in an
ESEARCH response a subset of the results denoted by the sequence ESEARCH response a subset of the results denoted by the sequence
range given as the mandatory argument. The first result (message range given as the mandatory argument. The first result (message
with the lowest matching UID) is 1; thus, the first 500 results would with the lowest matching UID) is 1; thus, the first 500 results would
be obtained by a return option of "PARTIAL 1:500", and the second 500 be obtained by a return option of "PARTIAL 1:500", and the second 500
by "PARTIAL 501:1000". This intentionally mirrors message sequence by "PARTIAL 501:1000". This intentionally mirrors message sequence
numbers. numbers.
It is also possible to direct the server to start SEARCH from the It is also possible to direct the server to start SEARCH from the
skipping to change at page 5, line 5 skipping to change at page 5, line 24
// 264 results in set syntax elided, // 264 results in set syntax elided,
// this spans the end of the results. // this spans the end of the results.
S: A02 OK Completed. S: A02 OK Completed.
S: * ESEARCH (TAG "A03") UID PARTIAL (1:500 ...) S: * ESEARCH (TAG "A03") UID PARTIAL (1:500 ...)
// 500 results in set syntax elided. // 500 results in set syntax elided.
S: A03 OK Completed. S: A03 OK Completed.
S: * ESEARCH (TAG "A04") UID PARTIAL (24000:24500 NIL) S: * ESEARCH (TAG "A04") UID PARTIAL (24000:24500 NIL)
// No results are present, this is beyond the end of the results. // No results are present, this is beyond the end of the results.
S: A04 OK Completed. S: A04 OK Completed.
4. Interaction between PARTIAL, MIN, MAX and SAVE SEARCH return options 3.2. Interaction between PARTIAL, MIN, MAX and SAVE SEARCH return
options
This section only applies if the server advertises PARTIAL IMAP This section only applies if the server advertises PARTIAL IMAP
capability or CONTEXT=SEARCH [RFC5267], together with ESEARCH capability or CONTEXT=SEARCH [RFC5267], together with ESEARCH
[RFC4731] and/or IMAP4rev2"[RFC9051]. [RFC4731] and/or IMAP4rev2"[RFC9051].
The SAVE result option doesn't change whether the server would return The SAVE result option doesn't change whether the server would return
items corresponding to PARTIAL SEARCH result options. items corresponding to PARTIAL SEARCH result options.
As specified in Section 3, it is an error to specify both PARTIAL and As specified in Section 3.1, it is an error to specify both PARTIAL
ALL result options in the same SEARCH command. and ALL result options in the same SEARCH command.
When the SAVE result option is combined with the PARTIAL result When the SAVE result option is combined with the PARTIAL result
option, and none of MIN/MAX/COUNT result options is present, the option, and none of MIN/MAX/COUNT result options is present, the
corresponding PARTIAL is returned, and the "$" marker would contain corresponding PARTIAL is returned, and the "$" marker would contain
all messages returned by the PARTIAL result option. all messages returned by the PARTIAL result option.
When the SAVE + PARTIAL result options are combined with the MIN or When the SAVE + PARTIAL result options are combined with the MIN or
the MAX result option, and the COUNT result option is absent, the the MAX result option, and the COUNT result option is absent, the
corresponding PARTIAL result and MIN/MAX is returned (if the search corresponding PARTIAL result and MIN/MAX is returned (if the search
result is not empty), and the "$" marker would contain all messages result is not empty), and the "$" marker would contain all messages
skipping to change at page 6, line 12 skipping to change at page 6, line 37
+------------------------------+---------------------+ +------------------------------+---------------------+
| SAVE PARTIAL MIN MAX | PARTIAL & MIN & MAX | | SAVE PARTIAL MIN MAX | PARTIAL & MIN & MAX |
+------------------------------+---------------------+ +------------------------------+---------------------+
| SAVE PARTIAL COUNT [m] | all found messages | | SAVE PARTIAL COUNT [m] | all found messages |
+------------------------------+---------------------+ +------------------------------+---------------------+
Table 1 Table 1
where '[m]' means optional "MIN" and/or "MAX" where '[m]' means optional "MIN" and/or "MAX"
5. Extension to FETCH 3.3. Extension to UID FETCH
The PARTIAL extension also extends the FETCH command with a PARTIAL The PARTIAL extension also extends the UID FETCH command with a
FETCH modifier. The PARTIAL FETCH modifier has the same syntax as PARTIAL FETCH modifier. The PARTIAL FETCH modifier has the same
the PARTIAL SEARCH result option. Presence of the PARTIAL FETCH syntax as the PARTIAL SEARCH result option. Presence of the PARTIAL
modifier instructs the server to only return FETCH results for FETCH modifier instructs the server to only return FETCH results for
messages in the specified range. It is useful when the sequence-set messages in the specified range. It is useful when the sequence-set
(first) parameter to FETCH/UID FETCH command includes unknown number (first) parameter to the UID FETCH command includes unknown number of
of messages. messages.
// Returning information for the last 3 messages in the UID range // Returning information for the last 3 messages in the UID range
C: 10 UID FETCH 25900:26600 (UID FLAGS) (PARTIAL -1:-3) C: 10 UID FETCH 25900:26600 (UID FLAGS) (PARTIAL -1:-3)
S: * 12888 FETCH (FLAGS (\Seen) UID 25996) S: * 12888 FETCH (FLAGS (\Seen) UID 25996)
S: * 12889 FETCH (FLAGS (\Flagged \Answered) UID 25997) S: * 12889 FETCH (FLAGS (\Flagged \Answered) UID 25997)
S: * 12890 FETCH (FLAGS () UID 26600) S: * 12890 FETCH (FLAGS () UID 26600)
S: 10 OK FETCH completed S: 10 OK FETCH completed
// Returning information for the first 5 messages in the UID range // Returning information for the first 5 messages in the UID range
C: 11 UID FETCH 25900:26600 (UID FLAGS) (PARTIAL 1:5) C: 11 UID FETCH 25900:26600 (UID FLAGS) (PARTIAL 1:5)
S: * 12591 FETCH (FLAGS (\Seen) UID 25900) S: * 12591 FETCH (FLAGS (\Seen) UID 25900)
S: * 12592 FETCH (FLAGS (\Flagged) UID 25902) S: * 12592 FETCH (FLAGS (\Flagged) UID 25902)
S: * 12593 FETCH (FLAGS (\Answered) UID 26310) S: * 12593 FETCH (FLAGS (\Answered) UID 26310)
S: * 12594 FETCH (FLAGS () UID 26311) S: * 12594 FETCH (FLAGS () UID 26311)
S: * 12595 FETCH (FLAGS (\Answered) UID 26498) S: * 12595 FETCH (FLAGS (\Answered) UID 26498)
S: 11 OK FETCH completed S: 11 OK FETCH completed
6. Expressing limits on a number of messages used in 3.4. Use of PARTIAL and CONDSTORE IMAP extensions together
SEARCH/FETCH/STORE/COPY/MOVE
This section is informative.
The PARTIAL FETCH modifier can be combined with the CHANGEDSINCE
FETCH modifier.
// Returning information for the last 30 messages in the UID range
// that have any flag/keyword modified since modseq 98305
C: 101 UID FETCH 25900:26600 (UID FLAGS) (PARTIAL -1:-30 CHANGEDSINCE 98305)
S: * 12888 FETCH (FLAGS (\Flagged \Answered) MODSEQ (98306) UID 25997)
S: * 12890 FETCH (FLAGS () MODSEQ (98312) UID 26600)
S: 101 OK FETCH completed
Note that the order of PARTIAL and CHANGEDSINCE FETCH modifiers is
not important.
4. The MESSAGELIMIT extension
An IMAP server advertises support for the MESSAGELIMIT extension by
including "MESSAGELIMIT=<limit>" capability in the CAPABILITY
response/response code, where "<limit>" is a positive integer that
conveys the maximum number of messages that can be processed in a
single SEARCH/FETCH/STORE/COPY/MOVE command.
4.1. Returning limits on the number of messages processed in a single
SEARCH/FETCH/STORE/COPY/MOVE command
// Should this be a separate IMAP capability? // Should this be a separate IMAP capability?
// Also, should this also affect SEARCH? If yes, do we need a way to // Also, should this also affect SEARCH? If yes, do we need a way to
// specify SEARCH criterion for "all UIDs after" or "all UIDs before" // specify SEARCH criterion for "all UIDs after" or "all UIDs before"
// a specific UID? // a specific UID?
If a server implementation doesn't allow more than <N> messages to be If a server implementation doesn't allow more than <N> messages to be
operated on by a single FETCH/STORE/COPY/MOVE command, it MUST return operated on by a single SEARCH/FETCH/STORE/COPY/MOVE command, it MUST
the MESSAGELIMIT response code defined below: return the MESSAGELIMIT response code defined below:
MESSAGELIMIT The server doesn't allow more than <N> messages to be operated MESSAGELIMIT The server doesn't allow more than <N> messages to be operated
on by a single SEARCH/FETCH/STORE/COPY/MOVE command. The last on by a single SEARCH/FETCH/STORE/COPY/MOVE command. The
processed UID is <LastUID>. The client needs to repeat the lowest processed UID is <LastUID>. The client needs to repeat
operation for remaining messages. the operation for remaining messages.
C: 03 FETCH 10000:14589 (UID FLAGS) C: 03 FETCH 10000:14589 (UID FLAGS)
S: * 14589 FETCH (FLAGS (\Seen) UID 25000) S: * 14589 FETCH (FLAGS (\Seen) UID 25000)
S: * 14588 FETCH (FLAGS (\Answered) UID 24998) S: * 14588 FETCH (FLAGS (\Answered) UID 24998)
S: ... further 997 fetch responses S: ... further 997 fetch responses
S: * 13590 FETCH (FLAGS () UID 23221) S: * 13590 FETCH (FLAGS () UID 23221)
S: 03 OK [MESSAGELIMIT 1000 23221] FETCH completed with 1000 partial S: 03 OK [MESSAGELIMIT 1000 23221] FETCH completed with 1000 partial
results results
In the above example the <N> value is 1000 and the last In the above example the <N> value is 1000 and the lowest
processed UID <LastUID> is 23221. processed UID <LastUID> is 23221.
7. Formal syntax 5. Formal syntax
The following syntax specification uses the Augmented Backus-Naur The following syntax specification uses the Augmented Backus-Naur
Form (ABNF) notation as specified in [ABNF]. Form (ABNF) notation as specified in [ABNF].
Non-terminals referenced but not defined below are as defined by Non-terminals referenced but not defined below are as defined by
IMAP4 [RFC3501]. IMAP4 [RFC3501].
Except as noted otherwise, all alphabetic characters are case- Except as noted otherwise, all alphabetic characters are case-
insensitive. The use of upper or lower case characters to define insensitive. The use of upper or lower case characters to define
token strings is for editorial clarity only. Implementations MUST token strings is for editorial clarity only. Implementations MUST
skipping to change at page 8, line 26 skipping to change at page 9, line 26
;; <partial-range> is the requested range. ;; <partial-range> is the requested range.
partial-results = sequence-set / "NIL" partial-results = sequence-set / "NIL"
;; <sequence-set> from [RFC3501]. ;; <sequence-set> from [RFC3501].
;; NIL indicates no results correspond to the requested range. ;; NIL indicates no results correspond to the requested range.
tagged-ext-simple =/ partial-range-last tagged-ext-simple =/ partial-range-last
fetch-modifier =/ modifier-partial fetch-modifier =/ modifier-partial
resp-text-code =/ "MESSAGELIMIT" SP nz-number SP uniqueid capability =/ "MESSAGELIMIT=" message-limit
;; <capability> from [RFC3501]
message-limit = nz-number
resp-text-code =/ "MESSAGELIMIT" SP message-limit SP uniqueid
;; No more than nz-number messages can be processed ;; No more than nz-number messages can be processed
;; by any command at a time. The last processed ;; by any command at a time. The last (lowest) processed
;; UID is uniqueid. ;; UID is uniqueid.
8. Security Considerations 6. Security Considerations
TBD. TBD.
9. IANA Considerations 7. IANA Considerations
9.1. Changes/additions to the IMAP4 capabilities registry 7.1. Changes/additions to the IMAP4 capabilities registry
IMAP4 capabilities are registered by publishing a standards track or IMAP4 capabilities are registered by publishing a standards track or
IESG approved Informational or Experimental RFC. The registry is IESG approved Informational or Experimental RFC. The registry is
currently located at: currently located at:
https://www.iana.org/assignments/imap4-capabilities https://www.iana.org/assignments/imap4-capabilities
IANA is requested to add definition of the PARTIAL extension to point IANA is requested to add definition of the PARTIAL extension to point
to this document. to this document.
10. Acknowledgments 8. Acknowledgments
This document was motivated by Yahoo! team and their questions about This document was motivated by Yahoo! team and their questions about
best client practices for dealing with large mailboxes. best client practices for dealing with large mailboxes.
This document uses lots of text from RFC 5267. Thus work of the RFC This document uses lots of text from RFC 5267. Thus work of the RFC
5267 authors Dave Cridland and Curtis King is appreciated. 5267 authors Dave Cridland and Curtis King is appreciated.
11. Normative References 9. References
9.1. Normative References
[ABNF] Crocker, D., Ed. and P. Overell, Ed., "Augmented BNF for [ABNF] Crocker, D., Ed. and P. Overell, Ed., "Augmented BNF for
Syntax Specifications: ABNF", RFC 5234, January 2008, Syntax Specifications: ABNF", RFC 5234, January 2008,
<https://www.rfc-editor.org/info/rfc5234>. <https://www.rfc-editor.org/info/rfc5234>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
skipping to change at page 9, line 46 skipping to change at page 10, line 51
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC9051] Melnikov, A., Ed. and B. Leiba, Ed., "Internet Message [RFC9051] Melnikov, A., Ed. and B. Leiba, Ed., "Internet Message
Access Protocol (IMAP) - Version 4rev2", RFC 9051, Access Protocol (IMAP) - Version 4rev2", RFC 9051,
DOI 10.17487/RFC9051, August 2021, DOI 10.17487/RFC9051, August 2021,
<https://www.rfc-editor.org/info/rfc9051>. <https://www.rfc-editor.org/info/rfc9051>.
9.2. Informative References
[RFC7162] Melnikov, A. and D. Cridland, "IMAP Extensions: Quick Flag
Changes Resynchronization (CONDSTORE) and Quick Mailbox
Resynchronization (QRESYNC)", RFC 7162,
DOI 10.17487/RFC7162, May 2014,
<https://www.rfc-editor.org/info/rfc7162>.
Index Index
M M
M M
MESSAGELIMIT (response code) MESSAGELIMIT (response code)
Section 6, Paragraph 3.2.1 Section 4.1, Paragraph 3.2.1
Authors' Addresses Authors' Addresses
Alexey Melnikov Alexey Melnikov
Isode Limited Isode Limited
Email: alexey.melnikov@isode.com Email: alexey.melnikov@isode.com
URI: https://www.isode.com URI: https://www.isode.com
Arun Prakash Achuthan Arun Prakash Achuthan
Yahoo! Yahoo!
Email: arunprakash@myyahoo.com Email: arunprakash@myyahoo.com
Vikram Nagulakonda Vikram Nagulakonda
Yahoo! Yahoo!
Email: nvikram_imap@yahoo.com Email: nvikram_imap@yahoo.com
Luis Alves Luis Alves
Verizon Media Yahoo!
Email: luis.alves@lafaspot.com Email: luis.alves@lafaspot.com
 End of changes. 30 change blocks. 
50 lines changed or deleted 110 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/