draft-ietf-jmap-mdn-07.txt   draft-ietf-jmap-mdn-08.txt 
JMAP R. Ouazana, Ed. JMAP R. Ouazana, Ed.
Internet-Draft Linagora Internet-Draft Linagora
Intended status: Standards Track March 18, 2020 Intended status: Standards Track March 19, 2020
Expires: September 19, 2020 Expires: September 20, 2020
Handling Message Disposition Notification with JMAP Handling Message Disposition Notification with JMAP
draft-ietf-jmap-mdn-07 draft-ietf-jmap-mdn-08
Abstract Abstract
This document specifies a data model for handling [RFC8098] MDN This document specifies a data model for handling [RFC8098] MDN
messages with a server using JMAP. messages with a server using JMAP.
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.
skipping to change at page 1, line 31 skipping to change at page 1, line 31
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 September 19, 2020. This Internet-Draft will expire on September 20, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 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
skipping to change at page 2, line 16 skipping to change at page 2, line 16
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Notational conventions . . . . . . . . . . . . . . . . . 3 1.1. Notational conventions . . . . . . . . . . . . . . . . . 3
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Addition to the capabilities object . . . . . . . . . . . 3 1.3. Addition to the capabilities object . . . . . . . . . . . 3
2. MDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. MDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. MDN/send . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1. MDN/send . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. MDN/parse . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2. MDN/parse . . . . . . . . . . . . . . . . . . . . . . . . 6
3. Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3. Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1. Sending an MDN for a received email . . . . . . . . . . . 7 3.1. Sending an MDN for a received email . . . . . . . . . . . 7
3.2. Asking for MDN when sending an email . . . . . . . . . . 8 3.2. Asking for MDN when sending an email . . . . . . . . . . 9
3.3. Parsing a received MDN . . . . . . . . . . . . . . . . . 9 3.3. Parsing a received MDN . . . . . . . . . . . . . . . . . 9
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
4.1. JMAP Capability Registration for "mdn" . . . . . . . . . 10 4.1. JMAP Capability Registration for "mdn" . . . . . . . . . 11
4.2. JMAP Error Codes Registry . . . . . . . . . . . . . . . . 11 4.2. JMAP Error Codes Registry . . . . . . . . . . . . . . . . 11
4.2.1. mdnAlreadySent . . . . . . . . . . . . . . . . . . . 11 4.2.1. mdnAlreadySent . . . . . . . . . . . . . . . . . . . 11
5. Security considerations . . . . . . . . . . . . . . . . . . . 11 5. Security considerations . . . . . . . . . . . . . . . . . . . 11
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
6.1. Normative References . . . . . . . . . . . . . . . . . . 11 6.1. Normative References . . . . . . . . . . . . . . . . . . 11
6.2. Informative References . . . . . . . . . . . . . . . . . 12 6.2. Informative References . . . . . . . . . . . . . . . . . 12
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 12 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 12
1. Introduction 1. Introduction
skipping to change at page 5, line 19 skipping to change at page 5, line 19
"deleted" / "dispatched" / "displayed" / "processed" "deleted" / "dispatched" / "displayed" / "processed"
See [RFC8098] for the exact meaning of these different fields. See [RFC8098] for the exact meaning of these different fields.
2.1. MDN/send 2.1. MDN/send
The MDN/send method sends an [RFC5322] message from an MDN object. The MDN/send method sends an [RFC5322] message from an MDN object.
When calling this method the "using" property of the Request object When calling this method the "using" property of the Request object
MUST contain the capabilities "urn:ietf:params:jmap:mdn" and MUST contain the capabilities "urn:ietf:params:jmap:mdn" and
"urn:ietf:params:jmap:mail". The latter because of the implicit call "urn:ietf:params:jmap:mail". The latter because of the implicit call
to Email/set, described below. The method takes the following to Email/set and the use of Identities, described below. The method
arguments: takes the following arguments:
o accountId: "Id" The id of the account to use. o accountId: "Id" The id of the account to use.
o identity: "Id" The id of the Identity to associate with these MDN.
The server will use this identity to define the sender of the MDN
and to set the finalRecipient field.
o send: "Id[MDN]" A map of creation id (client specified) to MDN o send: "Id[MDN]" A map of creation id (client specified) to MDN
objects. objects.
The response has the following arguments: The response has the following arguments:
o accountId: "Id" The id of the account used for the call. o accountId: "Id" The id of the account used for the call.
o sent: "Id[MDN]|null" A map of creation id to MDN containing any o sent: "Id[MDN]|null" A map of creation id to MDN containing any
properties that were not set by the client. This includes any properties that were not set by the client. This includes any
properties that were omitted by the client and thus set to a properties that were omitted by the client and thus set to a
skipping to change at page 6, line 19 skipping to change at page 6, line 22
o tooLarge: MDN/send would result in an MDN that exceeds a server- o tooLarge: MDN/send would result in an MDN that exceeds a server-
defined limit for the maximum size of an MDN, or more generally on defined limit for the maximum size of an MDN, or more generally on
emails. emails.
o rateLimit: Too many MDN or emails have been created recently, and o rateLimit: Too many MDN or emails have been created recently, and
a server-defined rate limit has been reached. It may work if a server-defined rate limit has been reached. It may work if
tried again later. tried again later.
o invalidProperties: The record given is invalid in some way. o invalidProperties: The record given is invalid in some way.
If the Account Id or Identity id given cannot be found, the MDN
sending is rejected with an "invalidProperties" error.
The client SHOULD NOT issue an MDN/send request if the message has The client SHOULD NOT issue an MDN/send request if the message has
the "$mdnsent" keyword set. the "$mdnsent" keyword set.
When sending the MDN, the server is in charge of generating the When sending the MDN, the server is in charge of generating the
"originalRecipient", "finalRecipient" and "originalMessageId" fields "originalRecipient", "finalRecipient" and "originalMessageId" fields
accordingly to the [RFC8098] specification. accordingly to the [RFC8098] specification.
After all items in the "MDN/send" invocation have been processed, a After all items in the "MDN/send" invocation have been processed, a
single implicit "Email/set" call MUST be made to set the "$mdnsent" single implicit "Email/set" call MUST be made to set the "$mdnsent"
keyword on "Email" objects referenced by "MDN" objects that have been keyword on "Email" objects referenced by "MDN" objects that have been
skipping to change at page 7, line 14 skipping to change at page 7, line 20
o parsed: "Id[MDN]|null" A map of blob id to parsed MDN o parsed: "Id[MDN]|null" A map of blob id to parsed MDN
representation for each successfully parsed blob, or null if none. representation for each successfully parsed blob, or null if none.
o notParsable: "Id[]|null" A list of ids given that corresponded to o notParsable: "Id[]|null" A list of ids given that corresponded to
blobs that could not be parsed as MDNs, or null if none. blobs that could not be parsed as MDNs, or null if none.
o notFound: "Id[]|null" A list of blob ids given that could not be o notFound: "Id[]|null" A list of blob ids given that could not be
found, or null if none. found, or null if none.
The following additional error may be returned instead of the MDN/ The following additional errors may be returned instead of the MDN/
parse response: parse response:
o requestTooLarge: The number of ids requested by the client exceeds o requestTooLarge: The number of ids requested by the client exceeds
the maximum number the server is willing to process in a single the maximum number the server is willing to process in a single
method call. method call.
o invalidProperties: If the Account Id given cannot be found, the
MDN parsing is rejected with an "invalidProperties" error.
3. Samples 3. Samples
3.1. Sending an MDN for a received email 3.1. Sending an MDN for a received email
A client can use the following request to send an MDN back to the A client can use the following request to send an MDN back to the
sender: sender:
[[ "MDN/send", { [[ "MDN/send", {
"accountId": "ue150411c", "accountId": "ue150411c",
"send": { "send": {
 End of changes. 10 change blocks. 
9 lines changed or deleted 19 lines changed or added

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