Re: [Jmap] I-D Action: draft-ietf-jmap-mdn-01.txt

"Neil Jenkins" <neilj@fastmailteam.com> Mon, 15 July 2019 01:53 UTC

Return-Path: <neilj@fastmailteam.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 C3543120163 for <jmap@ietfa.amsl.com>; Sun, 14 Jul 2019 18:53:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fastmailteam.com header.b=d3LQiNS3; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=esPjHkgp
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 jZjgVfRF7aO3 for <jmap@ietfa.amsl.com>; Sun, 14 Jul 2019 18:53:36 -0700 (PDT)
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7EB0212014E for <jmap@ietf.org>; Sun, 14 Jul 2019 18:53:36 -0700 (PDT)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 96C0922131; Sun, 14 Jul 2019 21:53:35 -0400 (EDT)
Received: from imap7 ([10.202.2.57]) by compute6.internal (MEProxy); Sun, 14 Jul 2019 21:53:35 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= fastmailteam.com; h=mime-version:message-id:in-reply-to :references:date:from:to:cc:subject:content-type; s=fm3; bh=3BdX G/iJ2q/yhZiO5xxlddmauGiPjb5lpcIPUqlH9zk=; b=d3LQiNS3i7QmQV0NPWcZ TKMcXWbxW2orNa/lWTq3J8qcBOLVE+stEx+n+Ty9GTZ/B680s57Dytdmfvhfoy7P Fv4JKYS0csWK2QBxkjfRFPRqiqolKvN0eJoTq7H5FLm4526G52bpOB81oFw7sfKz Gc5JdDSCbQjjXXvcHcDKSWsPJipfkAXrYWa2sQuVZqAe7j6o9RNf5gAUszdlxH6P oTPUL6YkeHY7B9J0EhF9t+/zmB7dceHwv1mufMG+MkUrVwTZI3pcd9PalGx6J74N v3M1TO8cQMTg3sR/I2/kY0O4DvBTLdIfFPygUp7kBdvBuVxSqhlF7/W6BXDYAznI Ng==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=3BdXG/ iJ2q/yhZiO5xxlddmauGiPjb5lpcIPUqlH9zk=; b=esPjHkgp7JA3sNLDS89M5J 84oUlrrIqkAhZvK0vwMCV++kca0wjD4xpUARHfKl0yIgBrJL04e+iMfZ2V35Bjxs adm/apZaPgoWCIiBjeFDuO6MOSMhSLObl19/iNea0FThpi90LPjQXvrD0fEjPzfe ORiCCSZcPSBv5m55UBnuA+wIQGWKoAH13TUX0mkl3P8UddV4K5Re3fYNyD0y8lxf 6Oc3HPc+lVh5yiyIRVagcQyE+2qBelsVVJQcqKwlRsyiJBq6NL8fkllRbkp1gCcv KXBtVcSwOeLYgjvK3pSAftkvDw8Gs3UoGwUXDSahNWSwnesARmUyFgZttd1lW9rw ==
X-ME-Sender: <xms:n9wrXUtiqMam8TgdMysxfhMGByV-sMxeyk-XfhF0Td2l3i54eNVggQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduvddrheejgddvgecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefofgggkfgjfhffhffvufgtsegrtderreerredtnecuhfhrohhmpedfpfgvihhl ucflvghnkhhinhhsfdcuoehnvghilhhjsehfrghsthhmrghilhhtvggrmhdrtghomheqne curfgrrhgrmhepmhgrihhlfhhrohhmpehnvghilhhjsehfrghsthhmrghilhhtvggrmhdr tghomhenucevlhhushhtvghrufhiiigvpedt
X-ME-Proxy: <xmx:n9wrXQl3sE3aR2NCrICIpst7DgLGQUTe85-Ec7c7HJEL-KEJKrCM3Q> <xmx:n9wrXUzX3iNBoQeCWhfOP6fdr3f1N20i03WHhQfUHfQR70mshnlNNw> <xmx:n9wrXWwGZHdcKseViT4iPIxYyzPKYwrrN-mHJ2VDyFnThvzfv1j3Vg> <xmx:n9wrXXa35bsLmL65JqP4Y3k9VL7kK6XICZ_fLkgAyjBlK7luSY1gRw>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id DEFDB18A053; Sun, 14 Jul 2019 21:53:34 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.1.6-731-g19d3b16-fmstable-20190627v1
Mime-Version: 1.0
Message-Id: <13dfd724-1bd2-40cb-b9ed-171189876c3f@beta.fastmail.com>
In-Reply-To: <1ddd3a8f0763f028bae89ace0e33081e@linagora.com>
References: <155197652116.24727.17736633253141543762@ietfa.amsl.com> <879444dd-28a7-4661-a057-e2f4d142eda3@beta.fastmail.com> <1ddd3a8f0763f028bae89ace0e33081e@linagora.com>
Date: Mon, 15 Jul 2019 11:53:34 +1000
From: Neil Jenkins <neilj@fastmailteam.com>
To: Raphael OUAZANA <raphael.ouazana@linagora.com>
Cc: IETF JMAP Mailing List <jmap@ietf.org>
Content-Type: multipart/alternative; boundary="fd4c94aafca54d23b0b621afcd420135"
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/Nzj7kualrE_oY-cEqaclQHPouFA>
Subject: Re: [Jmap] I-D Action: draft-ietf-jmap-mdn-01.txt
X-BeenThere: jmap@ietf.org
X-Mailman-Version: 2.1.29
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: Mon, 15 Jul 2019 01:53:39 -0000

Hi Raphael,

Sorry I missed replying to this before. In answer to your questions:

> >> The client SHOULD NOT issue a sendMDN request if the message has
> >> the
> >> "$MDNSent" keyword set. In this case, the server MUST reject the
> >> submission with a standard "forbiddenToSend" SetError.
> > 
> > I don't think this should be a forbiddenToSend error; that implies the
> > user does not have permission to send. An alreadyExists error might be
> > appropriate, or some kind of new "precondition-failed" type error.
> 
> I wrote it in the sense of forbidden by the RFC:
>  [...]In any case, in the presence of the $MDNSent keyword,
>  the client MUST ignore all other flags or keywords for the
>  purpose of generating an MDN and MUST NOT send the MDN.
> 
> AlreadyExists seems misleading as the user could just not want to send 
> the MDN, and in this case it will never exist. 

You mean the user set an `$MDNSent` flag but didn't send the MDN before?

> Maybe AlreadyProcessed or something like that then?

That would be OK, although I still think `alreadyExists` is a reasonable mapping.

> >> o *created*: "String[EmailSubmission]" A map of creation id
> >> (client-
> >> specified) to an email sent from the referenced properties.
> > 
> > The type says this is a map to EmailSubmission objects, but the
> > description says it is a map to an Email. Which is it?
> 
> I wrote a map to "an email sent [...]". Maybe my English is not good 
> enough, but for me an email sent means an EmailSubmission. How could I 
> clarify?

I would write "an EmailSubmission object" instead of "an email sent".

It's unclear to me exactly which properties you expect to be returned for the EmailSubmission object in this case. Is it creating a whole EmailSubmission record? This seems overkill and also a poor match: almost none of the properties are relevant or useful, and indeed would be confusing if you got this back with other EmailSubmission objects representing user email submission.

I think it would be better if it just returned a success/failure response, without creating an EmailSubmission object. The other, probably better and more JMAP-y way of modelling this would be to just use a standard "MDN/set" to create an MDN object, separate from the EmailSubmission data type entirely. There does not have to be /get, /query etc. methods.

> >> EMAILSUBMISSION/PARSEMDN
> > 
> > This method is nothing to do with EmailSubmission really. Probably
> > should be called MDN/PARSE.
> 
> Probably, I hesitated because like this all the MDN stuff is related to 
> EmailSubmission, but I can write a MDN/parse if you think it's better.

Yes, I think this would definitely be better. So this spec then defines the MDN data type, plus MDN/set and MDN/parse methods.

Cheers,
Neil.