Re: [Jmap] Submission

"Adrien de Croy" <adrien@qbik.com> Thu, 20 April 2017 21:56 UTC

Return-Path: <adrien@qbik.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 57E701316D4 for <jmap@ietfa.amsl.com>; Thu, 20 Apr 2017 14:56:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-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 zPrsBs-Gp1OZ for <jmap@ietfa.amsl.com>; Thu, 20 Apr 2017 14:56:00 -0700 (PDT)
Received: from smtp.qbik.com (smtp.qbik.com [122.56.26.1]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0BA3B1316CE for <jmap@ietf.org>; Thu, 20 Apr 2017 14:55:59 -0700 (PDT)
Received: From [192.168.1.146] (unverified [192.168.1.146]) by SMTP Server [192.168.1.3] (WinGate SMTP Receiver v9.0.5 (Build 5926)) with SMTP id <0001025297@smtp.qbik.com>; Fri, 21 Apr 2017 09:55:56 +1200
From: Adrien de Croy <adrien@qbik.com>
To: Chris Newman <chris.newman@oracle.com>, Brandon Long <blong@google.com>
Cc: "jmap@ietf.org" <jmap@ietf.org>
Date: Thu, 20 Apr 2017 21:55:56 +0000
Message-Id: <emf1bd45c2-f07e-45ca-a51f-46c5107b65c7@bodybag>
In-Reply-To: <63880E85-93FF-4ADD-8E03-E9CBD6DE5F5B@oracle.com>
References: <em27fa7b29-5584-44f3-aa88-086ce734ab59@bodybag> <096E2D4B-D7ED-4439-BB6F-7944892D2ACA@oracle.com> <CABa8R6tRV2-aK-m54FaXAc2v3uoZ1L9uKMzDOdkENKFumF6QYA@mail.gmail.com> <63880E85-93FF-4ADD-8E03-E9CBD6DE5F5B@oracle.com>
Reply-To: Adrien de Croy <adrien@qbik.com>
User-Agent: eM_Client/7.0.27943.0
Mime-Version: 1.0
Content-Type: text/plain; format="flowed"; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/TkdleTEgEsTwEH-bV6KVwqyLWDk>
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 21:56:03 -0000

My first impression is that if we considered the entire gamut of ESMTP 
submission extensions, most would not be relevant for the client, and 
therefore most would not need to be reflected in JMAP.

The client should not care if the payload is sent chunked, whether the 
next hop server supports pipelining.  The only extensions would relate 
to the things the client needs to know in order to emit a properly 
formed message and envelope.  If we make delivery status updates a core 
(and mandatory) part of JMAP, whether the upstream SMTP infrastructure 
can support it or not is not particularly important.  The JMAP server 
can provide something regardless, and in a tightly-integrated system 
(e.g. one JMAP client sending mail to another on the same server) then 
the user experience can be excellent.  Even things like 8BITMIME should 
be the default, mandatory in the client<->JMAP server and if the 
upstream SMTP system needs to redo the message then that's what it needs 
to do.  It's ridiculous we are still bound to a 7-bit-compatible mail 
transport where the only machines now that are 7 bit are in museums.

I think it would be a shame to get hung up on non-necessary SMTP 
extensions and use that as a justification to not progress on 
improvements.  We need to be sure that we have a realistic but useful 
set of minimum requirements which safeguard an excellent user 
experience, because we need to do better than what is currently there or 
this will not be adopted.

Adrien


------ Original Message ------
From: "Chris Newman" <chris.newman@oracle.com>
To: "Brandon Long" <blong@google.com>
Cc: "jmap@ietf.org" <jmap@ietf.org>
Sent: 21/04/2017 8:56:48 AM
Subject: Re: [Jmap] Submission

>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
>
>_______________________________________________
>Jmap mailing list
>Jmap@ietf.org
>https://www.ietf.org/mailman/listinfo/jmap