Re: [Jmap] Submission

"Chris Newman" <chris.newman@oracle.com> Thu, 20 April 2017 02:30 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 169B6129B5F for <jmap@ietfa.amsl.com>; Wed, 19 Apr 2017 19:30:21 -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_H4=-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 GpsZYxf05PDR for <jmap@ietfa.amsl.com>; Wed, 19 Apr 2017 19:30:19 -0700 (PDT)
Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) (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 781B4129470 for <jmap@ietf.org>; Wed, 19 Apr 2017 19:30:19 -0700 (PDT)
Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v3K2UG9L020524 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 20 Apr 2017 02:30:16 GMT
Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserv0021.oracle.com (8.13.8/8.14.4) with ESMTP id v3K2UFEs001807 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 20 Apr 2017 02:30:16 GMT
Received: from abhmp0010.oracle.com (abhmp0010.oracle.com [141.146.116.16]) by aserv0121.oracle.com (8.13.8/8.13.8) with ESMTP id v3K2UD7v019427; Thu, 20 Apr 2017 02:30:14 GMT
Received: from [10.154.116.81] (/10.154.116.81) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 19 Apr 2017 19:30:13 -0700
From: Chris Newman <chris.newman@oracle.com>
To: Ted Lemon <mellon@fugue.com>
Cc: "jmap@ietf.org" <jmap@ietf.org>
Date: Wed, 19 Apr 2017 19:30:12 -0700
Message-ID: <C86E9BC4-757F-4903-9EE5-2D9C099B5BE1@oracle.com>
In-Reply-To: <A0FCE54A-8AFA-4267-9567-A218A12F1AAD@fugue.com>
References: <em27fa7b29-5584-44f3-aa88-086ce734ab59@bodybag> <096E2D4B-D7ED-4439-BB6F-7944892D2ACA@oracle.com> <89E217B2-A700-498C-BA72-3FD9939F34C7@fugue.com> <C987AD7A-84F0-4400-B418-77C58C0827C9@oracle.com> <A0FCE54A-8AFA-4267-9567-A218A12F1AAD@fugue.com>
MIME-Version: 1.0
Content-Type: text/plain; format="flowed"
X-Mailer: MailMate (1.9.6r5347)
X-Source-IP: aserv0021.oracle.com [141.146.126.233]
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/kIuUkdpUFajATFoyRI-ZvSTkoV4>
Subject: Re: [Jmap] Submission
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: Thu, 20 Apr 2017 02:30:21 -0000

On 19 Apr 2017, at 18:55, Ted Lemon wrote:
> On Apr 19, 2017, at 9:28 PM, Chris Newman <Chris.Newman@oracle.com> 
> wrote:
>> To clarify my point, I think having an "outbox" with combined mail 
>> store and mail queue semantics as a mandatory architectural element 
>> of JMAP is a protocol design error because it breaks functional 
>> separation. And that violation of functional separation is 
>> particularly problematic in larger deployments where mail stores and 
>> mail queues each add management and monitoring complexity and require 
>> different designs and storage models to scale effectively.
>>
>> JMAP needs to have a submission action that has semantics matching 
>> the IETF Submission standard. It's fine for that command to pull data 
>> from the mail store as part of the submission action (as RFC 4468 
>> does). But the JMAP protocol needs to allow implementations where 
>> mail queue and mail store semantics are separate.
>
> Perhaps so.   However, the semantics of submission protocols aren't 
> really right either.   What I think we want is to tell the MUA that 
> delivery failed if it did, and to allow the MUA to know the current 
> status of delivery at least at the first hop, if delivery is not yet 
> complete.   But the SMTP submit protocol doesn't do this.   It's fire 
> and forget: all you get is confirmation that the message has been 
> queued.

There's RFC 3887 (Message Tracking Query Protocol). The product I work 
on has implemented that.

> Granting that the point of this working group is not to fix SMTP, the 
> semantics of the JMAP submit protocol ought to allow for delivery of 
> failure status without generating a needless bounce message just as a 
> place to put information from the site MTA's delivery attempt.

Agreed.

> If the failure happens farther down the line in a forwarding chain, we 
> can't do anything about it, but from a usability perspective bounce 
> messages are worse than useless, so anything that can reduce the 
> number of such messages that users see is a net win.

Bounce messages that are standards compliant are useful (and are 
frequently used to implement automatic un-subscription for mailing 
lists). But what I would say is that a mail client UI that shows bounce 
messages as "just another message in the INBOX" is not a good UI.

> The point that I am arguing is that sent messages really do have a 
> place in something that is notionally a mail store,

Draft Messages and Sent Messages belong in a mail store; the \Sent and 
\Draft RFC 6154 folders are well-within scope for JMAP.

> and those messages serve as a place where delivery status can be 
> found.

I'm generally supportive of this goal. However, I want the JMAP base 
spec to deploy quickly so I'd like to keep the amount of additional 
mandatory system complexity JMAP requires over-and-above Submission+IMAP 
to a minimum. I'm supportive of some additional complexity in exchange 
for ease-of-client development. But I don't think improved bounce 
handling is the right place to make that tradeoff in the base JMAP spec. 
Improved bounce handling could make a good JMAP extension.

		- Chris