JMAP | B. Gondwana, Ed. |
Internet-Draft | FastMail |
Intended status: Standards Track | March 19, 2018 |
Expires: September 20, 2018 |
JMAP Extension for imap data
draft-gondwana-jmap-imapdata-00
This document adds additional properties to the JMAP Email and Mailbox objects so that servers which also support IMAP can expose metadata about the IMAP Mailstore via JMAP.
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). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on September 20, 2018.
Copyright (c) 2018 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 (https://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.
[I-D.ietf-jmap-mail] JMAP datastores may be built in such a way that they also allow [RFC3501] IMAP access to the underlying data.
IMAP mailboxes have some STATUS data which is not required for JMAP and hence not exposed by default. This document provides a way to access those values via JMAP.
IMAP mailboxes contain individual messages by UID, and those can have properties which specific to the individual message. If the server supports multiple IMAP messages collapsed into a single JMAP message (due to identical Email/id or [I-D.gondwana-imap-uniqueid] MSGID) then it can be useful to expose the underlying IMAP data via JMAP.
In examples, "C:" indicates data sent by a client that is connected to a server. "S:" indicates data 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 [RFC2119] when they appear in ALL CAPS. These words may also appear in this document in lower case as plain English words, absent their normative meanings.
This extension adds a single property to the Email object:
The ImapData Object has the following properties:
This extension adds a single property to the Mailbox object:
If the mailbox is not accessible via IMAP (e.g. a virtual mailbox) then it MUST have a null ImapStatus.
The ImapStatus Object has the following properties:
If the same message occurs multiple times in an IMAP store with different keywords, the combined keyword contents might be best calculated in different ways for different keywords, for example:
There will be a registration of an ID, but there's not yet a JMAP registry to add the it into. Maybe something like "ietf:jmap:imapdata".
All this data is visible via IMAP already for users with the same authentication rights, however implementations must ensure that if a message is both in mailboxes where the user has the [RFC4314] READ ACL and other mailboxes where the use does not have read access, that the imapdata response is filtered to avoid leaking information about non-visible mailboxes.
TBD.
[I-D.gondwana-imap-uniqueid] | Gondwana, B., "IMAP Extension for unique identifiers", Internet-Draft draft-gondwana-imap-uniqueid-00, March 2018. |
[I-D.ietf-extra-imap-savedate] | Bosch, S., "Internet Message Access Protocol (IMAP) - SAVEDATE Extension", Internet-Draft draft-ietf-extra-imap-savedate-00, March 2018. |
[I-D.ietf-jmap-mail] | Jenkins, N., "JMAP for Mail", Internet-Draft draft-ietf-jmap-mail-04, March 2018. |
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |
[RFC3501] | Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1", RFC 3501, DOI 10.17487/RFC3501, March 2003. |
[RFC4314] | Melnikov, A., "IMAP4 Access Control List (ACL) Extension", RFC 4314, DOI 10.17487/RFC4314, December 2005. |
[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. |