Re: [Jmap] DSN and MDN in JMAP

"Chris Newman" <chris.newman@oracle.com> Wed, 19 July 2017 08:07 UTC

Return-Path: <chris.newman@oracle.com>
X-Original-To: jmap@ietfa.amsl.com
Delivered-To: jmap@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0E37A131C10 for <jmap@ietfa.amsl.com>; Wed, 19 Jul 2017 01:07:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.222
X-Spam-Level:
X-Spam-Status: No, score=-4.222 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id w4pjM7WyYaYE for <jmap@ietfa.amsl.com>; Wed, 19 Jul 2017 01:07:30 -0700 (PDT)
Received: from aserp1040.oracle.com (aserp1040.oracle.com [141.146.126.69]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C5D3A131600 for <jmap@ietf.org>; Wed, 19 Jul 2017 01:07:30 -0700 (PDT)
Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v6J87RXN007881 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jul 2017 08:07:27 GMT
Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id v6J87QXZ030650 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jul 2017 08:07:27 GMT
Received: from abhmp0004.oracle.com (abhmp0004.oracle.com [141.146.116.10]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id v6J87Q2E017376; Wed, 19 Jul 2017 08:07:26 GMT
Received: from [31.133.136.2] (/31.133.136.2) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 19 Jul 2017 01:07:25 -0700
From: Chris Newman <chris.newman@oracle.com>
To: Neil Jenkins <neilj@fastmailteam.com>
Cc: IETF JMAP Mailing List <jmap@ietf.org>
Date: Wed, 19 Jul 2017 10:07:20 +0200
Message-ID: <4186F083-C4AA-49FA-8056-530E2A53FBE0@oracle.com>
In-Reply-To: <1500398084.797896.1044865312.4893BFE7@webmail.messagingengine.com>
References: <71E3B9BE-C58C-40DF-AA63-EB4B94334DD5@oracle.com> <1500398084.797896.1044865312.4893BFE7@webmail.messagingengine.com>
MIME-Version: 1.0
Content-Type: text/plain; format="flowed"
X-Mailer: MailMate (1.9.6r5347)
X-Source-IP: aserv0022.oracle.com [141.146.126.234]
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/g1Mp1EeUgCFDz71gaEQav0YXwKY>
Subject: Re: [Jmap] DSN and MDN in JMAP
X-BeenThere: jmap@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: JSON Message Access Protocol <jmap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/jmap>, <mailto:jmap-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/jmap/>
List-Post: <mailto:jmap@ietf.org>
List-Help: <mailto:jmap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/jmap>, <mailto:jmap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 19 Jul 2017 08:07:32 -0000

On 18 Jul 2017, at 19:14, Neil Jenkins wrote:
> After discussing this with Chris, we agreed that most of this is 
> probably not useful, and we would be better off simplifying the key 
> information into two properties, and providing access to the raw 
> DSN/MDN as blobs should a client wish to do more.
> So I propose we add the following to the DeliveryStatus object for 
> each recipient:
>  * *delivered*: `String` This MUST be one of the following values:
>    `unknown`: The delivery status is unknown. This is the initial 
> value.
>    `yes`: A DSN has been received for this recipient with Action (as 
> per
>    RFC3464 section 2.3.3) equal to "delivered". `no`: A DSN has been
>    received for this recipient with Action equal to "failed".
>  * *seen*: `String` This MUST be one of the following values: 
> `unknown`:
>    The seen status is unknown. This is the initial value. `yes`: An 
> MDN
>    has been received for this recipient with Disposition-Type (as per
>    RFC 3798 section 3.2.6.2[1]) equal to "displayed".
>  * *dsnBlobIds*: `String[]` A list of blob ids for DSNs received for
>    this recipient, in order of receipt, oldest first.
>  * *mdnBlobIds*: `String[]` A list of blob ids for MDNs received for
>    this recipient, in order of receipt, oldest first.The other nice 
> thing about this is that JMAP servers may be able to update the 
> delivered/seen properties based on other mechanisms (for example when 
> there are local recipients); the client doesn't have to care how the 
> server knows if the message has been delivered/seen.

I think that should be explicit in the spec, perhaps say:

JMAP servers MAY set the delivered/seen strings based on information 
other than standard DSN and MDN messages.


We could move dsnBlobIds & mdnblobIds to the MessageSubmission object. 
For the power users (or support staff) who want the details in those 
messages, JMAP-level per-recipient correlation isn't that important and 
it may be easier for a UI to put a "show technical details" feature on a 
messageSubmission object.

A couple other details I think are helpful to articulate:

JMAP servers MAY (SHOULD?) hide standard DSN and MDN messages that 
correlate to a MessageSubmission object from the normal mailbox view and 
expose them only in the dsnBlobIds and mdnblobIds fields.

When a JMAP server performs a message submission, it MAY use the same ID 
string for the RFC 3461 ENVID parameter and the JMAP MessageSubmission 
object ID. JMAP servers that do this MAY replace a client-provided value 
for ENVID with a server-provided value.

		- Chris