rfc9698v3.txt   rfc9698.txt 
Internet Engineering Task Force (IETF) A. Gulbrandsen Internet Engineering Task Force (IETF) A. Gulbrandsen
Request for Comments: 9698 ICANN Request for Comments: 9698 ICANN
Category: Standards Track B. Gondwana Category: Standards Track B. Gondwana
ISSN: 2070-1721 Fastmail ISSN: 2070-1721 Fastmail
December 2024 January 2025
The JMAPACCESS Extension for IMAP The JMAPACCESS Extension for IMAP
Abstract Abstract
This document defines an IMAP extension to let clients know that the This document defines an IMAP extension to let clients know that the
messages in this IMAP server are also available via the JSON Meta messages in this IMAP server are also available via the JSON Meta
Application Protocol (JMAP), and how. It is intended for clients Application Protocol (JMAP), and how. It is intended for clients
that want to migrate gradually to JMAP or use JMAP extensions within that want to migrate gradually to JMAP or use JMAP extensions within
an IMAP client. an IMAP client.
skipping to change at line 34 skipping to change at line 34
received public review and has been approved for publication by the received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841. Internet Standards is available in Section 2 of RFC 7841.
Information about the current status of this document, any errata, Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9698. https://www.rfc-editor.org/info/rfc9698.
Copyright Notice Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the Copyright (c) 2025 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 Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Revised BSD License text as described in Section 4.e of the include Revised BSD License text as described in Section 4.e of the
Trust Legal Provisions and are provided without warranty as described Trust Legal Provisions and are provided without warranty as described
skipping to change at line 172 skipping to change at line 172
The server processes the command successfully. It knows that the The server processes the command successfully. It knows that the
client used OAuth, and that it and its JMAP alter ego use the same client used OAuth, and that it and its JMAP alter ego use the same
OAuth backend subsystem. Because of that it infers that the (next) OAuth backend subsystem. Because of that it infers that the (next)
access token is just as usable via JMAP as via IMAP. It includes a access token is just as usable via JMAP as via IMAP. It includes a
JMAPACCESS capability in its reply (again, real capability lists are JMAPACCESS capability in its reply (again, real capability lists are
much longer): much longer):
S: 1 OK [CAPABILITY IMAP4rev1 JMAPACCESS] done S: 1 OK [CAPABILITY IMAP4rev1 JMAPACCESS] done
C: 1b GETJMAPACCESS C: 1b GETJMAPACCESS
S: * JMAPACCESS "https://example.com/jmap" S: * JMAPACCESS "https://example.com/.well-known/jmap"
S: 1b OK done S: 1b OK done
SASL OAuth is specified by [RFC7628], and the argument in this SASL OAuth is specified by [RFC7628], and the argument in this
example is abbreviated from the more realistic length used in RFC example is abbreviated from the more realistic length used in RFC
7628. 7628.
Example 2: Example 2:
A client connects, sees no SASL method it recognizes, and issues a A client connects, sees no SASL method it recognizes, and issues a
LOGIN command. LOGIN command.
skipping to change at line 194 skipping to change at line 194
S: * OK [CAPABILITY IMAP4rev2] example2 S: * OK [CAPABILITY IMAP4rev2] example2
C: 2 LOGIN "arnt" "trondheim" C: 2 LOGIN "arnt" "trondheim"
The server sees that the password is accepted, knows that it and its The server sees that the password is accepted, knows that it and its
JMAP alter ego use the same password database, and issues a JMAP alter ego use the same password database, and issues a
JMAPACCESS capability: JMAPACCESS capability:
S: * OK [CAPABILITY IMAP4rev2 JMAPACCESS] done S: * OK [CAPABILITY IMAP4rev2 JMAPACCESS] done
S: 2 OK done S: 2 OK done
C: 2b JMAPACCESS C: 2b JMAPACCESS
S: * JMAPACCESS "https://example.com/.s/[jmap]" S: * JMAPACCESS "https://example.com/.well-known/jmap"
S: 2b OK done S: 2b OK done
The URL uses the same quoting rules as most other IMAP strings. The URL uses the same quoting rules as most other IMAP strings.
Example 3: Example 3:
A client connects, sees no SASL method it recognizes, and issues a A client connects, sees no SASL method it recognizes, and issues a
LOGIN command with a correct password. LOGIN command with a correct password.
S: * OK [CAPABILITY IMAP4rev1 IMAP4rev2] example3 S: * OK [CAPABILITY IMAP4rev1 IMAP4rev2] example3
 End of changes. 4 change blocks. 
4 lines changed or deleted 4 lines changed or added

This html diff was produced by rfcdiff 1.48.