draft-ietf-jmap-mdn-05.txt   draft-ietf-jmap-mdn-06.txt 
JMAP R. Ouazana, Ed. JMAP R. Ouazana, Ed.
Internet-Draft Linagora Internet-Draft Linagora
Intended status: Standards Track February 26, 2020 Intended status: Standards Track February 28, 2020
Expires: August 29, 2020 Expires: August 31, 2020
Handling Message Disposition Notification with JMAP Handling Message Disposition Notification with JMAP
draft-ietf-jmap-mdn-05 draft-ietf-jmap-mdn-06
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 August 29, 2020. This Internet-Draft will expire on August 31, 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 4, line 8 skipping to change at page 4, line 8
o forEmailId: "Id|null" Email Id of the received email this MDN is o forEmailId: "Id|null" Email Id of the received email this MDN is
relative to. relative to.
o subject: "String|null" Subject used as "Subject" header for this o subject: "String|null" Subject used as "Subject" header for this
MDN. MDN.
o textBody: "String|null" Human readable part of the MDN, as plain o textBody: "String|null" Human readable part of the MDN, as plain
text. text.
o includeOriginalMessage: "Boolean" (default: false). If "true",
the content of the original message will appear in the third
component of the multipart/report generated for the MDN. See
[RFC8098] for details and security considerations.
o reportingUA: "String|null" Name of the MUA creating this MDN. It o reportingUA: "String|null" Name of the MUA creating this MDN. It
is used to build the MDN Report part of the MDN. is used to build the MDN Report part of the MDN.
o disposition: "Disposition" Object containing the diverse MDN o disposition: "Disposition" Object containing the diverse MDN
disposition options. disposition options.
o mdnGateway: "String|null" (server-set) Name of the gateway or MTA o mdnGateway: "String|null" (server-set) Name of the gateway or MTA
that translated a foreign (non-Internet) message disposition that translated a foreign (non-Internet) message disposition
notification into this MDN. notification into this MDN.
skipping to change at page 5, line 8 skipping to change at page 5, line 10
"MDN-sent-manually" / "MDN-sent-automatically" "MDN-sent-manually" / "MDN-sent-automatically"
o type: "String" This MUST be one of the following strings: o type: "String" This MUST be one of the following strings:
"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.
The capability "urn:ietf:params:jmap:mail" is implicitely required When calling this method the "using" property of the Request object
while using this method. The method takes the following arguments: MUST contain the capabilities "urn:ietf:params:jmap:mdn" and
"urn:ietf:params:jmap:mail". The latter because of the implicit call
to Email/set, described below. The method 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 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 sent 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
default by the server. This argument is null if no MDN objects default by the server. This argument is null if no MDN objects
were successfully sent. were successfully sent.
o notSent: "Id[MDNError]|null" A map of the creation id to an o notSent: "Id[MDNError]|null" A map of the creation id to an
MDNError object for each record that failed to be sent, or null if MDNError object for each record that failed to be sent, or null if
all successful. all successful.
The following MDNError types are defined: The following MDNError types are defined:
skipping to change at page 10, line 31 skipping to change at page 10, line 31
"originalMessageId": "<1521557867.2614.0.camel@apache.org>" "originalMessageId": "<1521557867.2614.0.camel@apache.org>"
} }
} }
}, "0" ]] }, "0" ]]
In case of a not found blobId, the server would respond: In case of a not found blobId, the server would respond:
[[ "MDN/parse", { [[ "MDN/parse", {
"accountId": "ue150411c", "accountId": "ue150411c",
"notFound": [ "0f9f65ab-dc7b-4146-850f-6e4881093965" ] "notFound": [ "0f9f65ab-dc7b-4146-850f-6e4881093965" ]
}
}, "0" ]] }, "0" ]]
If the blobId has been found but is not parsable, the server would If the blobId has been found but is not parsable, the server would
respond: respond:
[[ "MDN/parse", { [[ "MDN/parse", {
"accountId": "ue150411c", "accountId": "ue150411c",
"notParsable": [ "0f9f65ab-dc7b-4146-850f-6e4881093965" ] "notParsable": [ "0f9f65ab-dc7b-4146-850f-6e4881093965" ]
}
}, "0" ]] }, "0" ]]
4. IANA Considerations 4. IANA Considerations
4.1. JMAP Capability Registration for "mdn" 4.1. JMAP Capability Registration for "mdn"
IANA will register the "mdn" JMAP Capability as follows: IANA will register the "mdn" JMAP Capability as follows:
Capability Name: "urn:ietf:params:jmap:mdn" Capability Name: "urn:ietf:params:jmap:mdn"
Specification document: this document Specification document: this document
Intended use: common
Intended use: common
Change Controller: IETF Change Controller: IETF
Security and privacy considerations: this document, section 5. Security and privacy considerations: this document, section 5.
4.2. JMAP Error Codes Registry 4.2. JMAP Error Codes Registry
The following subsection register one new error code in the "JMAP The following subsection register one new error code in the "JMAP
Error Codes" registry, as defined in [RFC8620]. Error Codes" registry, as defined in [RFC8620].
4.2.1. mdnAlreadySent 4.2.1. mdnAlreadySent
 End of changes. 10 change blocks. 
10 lines changed or deleted 16 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/