Re: [Jmap] Submission

"Chris Newman" <chris.newman@oracle.com> Thu, 20 April 2017 20:56 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 03883126C22 for <jmap@ietfa.amsl.com>; Thu, 20 Apr 2017 13:56:56 -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 XoUM6YB9eQkC for <jmap@ietfa.amsl.com>; Thu, 20 Apr 2017 13:56:54 -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 1943D131687 for <jmap@ietf.org>; Thu, 20 Apr 2017 13:56:52 -0700 (PDT)
Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v3KKunju016003 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 20 Apr 2017 20:56:50 GMT
Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id v3KKunAM003266 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 20 Apr 2017 20:56:49 GMT
Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id v3KKunfa021608; Thu, 20 Apr 2017 20:56:49 GMT
Received: from [192.168.15.59] (/66.214.236.56) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 20 Apr 2017 13:56:49 -0700
From: Chris Newman <chris.newman@oracle.com>
To: Brandon Long <blong@google.com>
Cc: "jmap@ietf.org" <jmap@ietf.org>
Date: Thu, 20 Apr 2017 13:56:48 -0700
Message-ID: <63880E85-93FF-4ADD-8E03-E9CBD6DE5F5B@oracle.com>
In-Reply-To: <CABa8R6tRV2-aK-m54FaXAc2v3uoZ1L9uKMzDOdkENKFumF6QYA@mail.gmail.com>
References: <em27fa7b29-5584-44f3-aa88-086ce734ab59@bodybag> <096E2D4B-D7ED-4439-BB6F-7944892D2ACA@oracle.com> <CABa8R6tRV2-aK-m54FaXAc2v3uoZ1L9uKMzDOdkENKFumF6QYA@mail.gmail.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/XYZjksYofffYrYHDu3okd7PR_E4>
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 20:56:56 -0000

On 19 Apr 2017, at 21:46, Brandon Long wrote:
> On Wed, Apr 19, 2017 at 12:29 PM, Chris Newman 
> <chris.newman@oracle.com>
> wrote:
>> Finally, if JMAP supports submission then I expect a client author 
>> will
>> want to use the JMAP submission mechanism for all submissions. If 
>> JMAP has
>> a rigid design where each submission extension requires an additional 
>> JMAP
>> extension then a high-end client will eventually be forced to 
>> implement
>> SMTP submission in addition to JMAP submission. And it will be stuck 
>> doing
>> both (the former for functionality, the latter for ease-of-setup). I 
>> don't
>> want JMAP clients to be forced down that path.
>
> Is there any proof that the majority of clients would bother? I 
> realize
> that's the argument that's always been made about including submission 
> in
> IMAP, but is there proof that the majority of clients used by people
> implement these?

Of course there is no proof related to future actions of third parties. 
But semantic equivalent guarantees the problem won't happen.

> I mean, SMTPUTF8, sure, should be a requirement for jmap.

I'm unsure we should require all JMAP servers to support SMTPUTF8. I 
presently don't have strong feelings one way or the other, but I think 
there are a number of important tradeoffs that should be understood to 
inform the decision.

>> What this means is that for JMAP to support submission correctly, it 
>> must
>> be able to function as an SMTP submission proxy from a semantic 
>> viewpoint.
>> This creates a number of requirements. The basic requirements are:
>>
>> 1. It must be possible to query the JMAP server for the set of 
>> Submission
>> ESMTP extensions semantically equivalent to the SMTP submission EHLO
>> response. The JMAP server needs to omit the extensions that aren't 
>> relevant
>> (e.g., AUTH, STARTTLS, PIPELINING).
>> 2. It must be possible to provide an SMTP envelope for submission 
>> that is
>> semantically identical to the submission protocol. This needs to 
>> support
>> MAIL FROM, one or more RCPT TO, and ESMTP parameters to those 
>> envelope
>> components. There needs to be an algorithmic way to convert from JMAP
>> envelope syntax to SMTP Submission envelope syntax.
>> 3. It must be possible to get submission errors that are semantically
>> identical to those provided by a submission server. Including at 
>> least
>> 3-digit SMTP code, optionally enhanced SMTP code and human readable 
>> text of
>> error and potentially one response for mail from, one for each rcpt 
>> to and
>> one for data/bdat final response.
>
> Why?

These three requirements would give JMAP semantic equivalence to 
standard IETF Submission, which preserves functional separation 
(improving scalability and security/privacy models), and simplifies 
deployment in sites with existing submit servers (which is presently all 
sites). I don't think 1 or 2 should be controversial. Some debate about 
item 3 may be appropriate.

>> So that's the submission functionality JMAP needs to provide if it
>> provides submission at all. If you want to also provide a simpler 
>> model for
>> submission in JMAP, I won't object as long as the full model is 
>> mandatory.
>
> Maybe that's the simplest way to avoid the argument.

Debating the technical tradeoffs between different proposals is an 
important part of getting a good standard. If you think I'm wrong, it'd 
be good to explain the alternate viewpoint and technical reasoning 
behind that viewpoint. As I work on server software products, I tend to 
have some server bias in designs but I recognize there are tradeoffs 
between ease-of-development/ease-of-deployment for server vs. client 
software. As a long time IETF participant, I also view 
IMAP+Submission+standard-extensions as the starting point for JMAP 
design. That's a different viewpoint from people who view the problem 
entirely from the client viewpoint and ignore the constraints of 
presently deployed infrastructure. A good JMAP standard should probably 
end up somewhere in the middle.

		- Chris