Re: [Jmap] Submission
"Chris Newman" <chris.newman@oracle.com> Wed, 19 April 2017 19:29 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 21792128C83 for <jmap@ietfa.amsl.com>; Wed, 19 Apr 2017 12:29:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.002
X-Spam-Level:
X-Spam-Status: No, score=-7.002 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-2.8, 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 SRbcNL1hFZdO for <jmap@ietfa.amsl.com>; Wed, 19 Apr 2017 12:29:32 -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 165C71270B4 for <jmap@ietf.org>; Wed, 19 Apr 2017 12:29:32 -0700 (PDT)
Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v3JJTVAs032479 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for <jmap@ietf.org>; Wed, 19 Apr 2017 19:29:31 GMT
Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserv0021.oracle.com (8.13.8/8.14.4) with ESMTP id v3JJTVXg026572 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for <jmap@ietf.org>; Wed, 19 Apr 2017 19:29:31 GMT
Received: from abhmp0004.oracle.com (abhmp0004.oracle.com [141.146.116.10]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id v3JJTU5t019310 for <jmap@ietf.org>; Wed, 19 Apr 2017 19:29:30 GMT
Received: from [10.154.116.81] (/10.154.116.81) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 19 Apr 2017 12:29:30 -0700
From: Chris Newman <chris.newman@oracle.com>
To: "jmap@ietf.org" <jmap@ietf.org>
Date: Wed, 19 Apr 2017 12:29:29 -0700
Message-ID: <096E2D4B-D7ED-4439-BB6F-7944892D2ACA@oracle.com>
In-Reply-To: <em27fa7b29-5584-44f3-aa88-086ce734ab59@bodybag>
References: <em27fa7b29-5584-44f3-aa88-086ce734ab59@bodybag>
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/01CL0W5cdviGlf1FKEL2RmrlDIo>
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: Wed, 19 Apr 2017 19:29:33 -0000
The original IMAP designer always opposed adding submission to IMAP as a matter of functional separation. While I strongly agree with the need for functional specification, it is possible to design a protocol in such a way that multiple separable functions are provided in the same protocol. As a result I support adding submission to JMAP in a way that preserves functional separation. When deploying a large mail service it's important to keep the submission mail queues (which have management/monitoring issues) functionally separate from the mail store (which has very different management/monitoring issues). If the JMAP design requires a mail queue to be present on the JMAP server or present in the mail store, that is an unacceptable protocol design error as it hinders the manageability of large deployments. Furthermore, SMTP submission is a full standard IETF protocol that continues to be extended. JMAP should leverage the semantics of the existing standard in such a way that it's not necessary to change the JMAP specification when a new submission extension that's useful to JMAP is added. In addition to giving JMAP clients access to all the useful submission extensions like FUTURERELASE, UTF8SMTP, DELIVERBY, etc. This will ultimately make the JMAP specification simpler (as it won't have to deal with submission extensions directly) and more flexible to deploy. 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. 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. 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. - Chris
- Re: [Jmap] Submission Alexey Melnikov
- Re: [Jmap] Submission Adrien de Croy
- Re: [Jmap] Submission Neil Jenkins
- [Jmap] Submission Adrien de Croy
- Re: [Jmap] Submission Arnt Gulbrandsen
- Re: [Jmap] Submission Arnt Gulbrandsen
- Re: [Jmap] Submission Arnt Gulbrandsen
- Re: [Jmap] Submission Alexey Melnikov
- Re: [Jmap] Submission Ricardo Signes
- Re: [Jmap] Submission Daniel Kahn Gillmor
- Re: [Jmap] Submission John Levine
- Re: [Jmap] Submission John R Levine
- Re: [Jmap] Submission John R Levine
- Re: [Jmap] Submission Daniel Kahn Gillmor
- Re: [Jmap] Submission Ted Lemon
- Re: [Jmap] Submission Ted Lemon
- Re: [Jmap] Submission Alexey Melnikov
- Re: [Jmap] Submission Chris Newman
- Re: [Jmap] Submission Ted Lemon
- Re: [Jmap] Submission Chris Newman
- Re: [Jmap] Submission Ted Lemon
- Re: [Jmap] Submission Chris Newman
- Re: [Jmap] Submission Chris Newman
- Re: [Jmap] Submission Brandon Long
- Re: [Jmap] Submission Brandon Long
- Re: [Jmap] Submission John Levine
- Re: [Jmap] Submission Ted Lemon
- Re: [Jmap] Submission Adrien de Croy
- Re: [Jmap] Submission Ted Lemon
- Re: [Jmap] Submission Chris Newman
- Re: [Jmap] Submission Adrien de Croy
- Re: [Jmap] Submission John Levine
- Re: [Jmap] Submission John Levine
- Re: [Jmap] Submission Adrien de Croy
- Re: [Jmap] Submission Adrien de Croy
- Re: [Jmap] Submission Ned Freed
- Re: [Jmap] Submission Ted Lemon
- Re: [Jmap] Submission John Levine
- Re: [Jmap] Submission John Levine
- Re: [Jmap] Submission is not hard Ned Freed
- Re: [Jmap] Submission Ted Lemon
- Re: [Jmap] Address Validation (was Re: Submission) John Levine
- Re: [Jmap] Submission Adrien de Croy
- Re: [Jmap] Address Validation (was Re: Submission) Bron Gondwana
- Re: [Jmap] Submission Ned Freed
- Re: [Jmap] Submission Adrien de Croy
- Re: [Jmap] Submission Ned Freed
- Re: [Jmap] Submission is not hard John Levine
- Re: [Jmap] Submission Ned Freed
- Re: [Jmap] Submission Ted Lemon
- Re: [Jmap] Submission Arnt Gulbrandsen
- Re: [Jmap] Submission John R Levine
- Re: [Jmap] Submission Adrien de Croy
- Re: [Jmap] Submission John Levine
- Re: [Jmap] Submission is not hard Adrien de Croy
- Re: [Jmap] Submission Adrien de Croy
- Re: [Jmap] Submission is not hard John R Levine
- Re: [Jmap] Submission John R Levine
- Re: [Jmap] Submission is not hard Adrien de Croy
- Re: [Jmap] Submission is not hard John R Levine
- Re: [Jmap] Submission is not hard Adrien de Croy
- Re: [Jmap] Submission Adrien de Croy
- Re: [Jmap] Message Tracking and JMAP extensibilit… Chris Newman
- Re: [Jmap] Submission Chris Newman
- Re: [Jmap] Message Tracking and JMAP extensibilit… Adrien de Croy
- Re: [Jmap] Submission Adrien de Croy
- [Jmap] Message Tracking and JMAP extensibility (w… Chris Newman
- Re: [Jmap] Submission Ted Lemon
- Re: [Jmap] Submission Chris Newman
- Re: [Jmap] Address Validation (was Re: Submission) Adrien de Croy
- [Jmap] Address Validation (was Re: Submission) Chris Newman
- Re: [Jmap] Submission Ted Lemon
- Re: [Jmap] Submission Adrien de Croy
- Re: [Jmap] Submission Ned Freed
- Re: [Jmap] Address Validation (was Re: Submission) Adrien de Croy
- Re: [Jmap] Address Validation (was Re: Submission) Bron Gondwana
- Re: [Jmap] Submission Adrien de Croy
- Re: [Jmap] Submission Ned Freed
- Re: [Jmap] Submission Ted Lemon
- Re: [Jmap] Submission Ned Freed
- Re: [Jmap] Submission Jeremy Harris
- Re: [Jmap] Address Validation (was Re: Submission) Arnt Gulbrandsen
- Re: [Jmap] Address Validation (was Re: Submission) John R Levine
- Re: [Jmap] Address Validation (was Re: Submission) Arnt Gulbrandsen
- Re: [Jmap] Address Validation (was Re: Submission) John Levine
- Re: [Jmap] Address Validation (was Re: Submission) Cyrus Daboo
- Re: [Jmap] Address Validation (was Re: Submission) John Levine
- Re: [Jmap] Address Validation (was Re: Submission) Arnt Gulbrandsen
- Re: [Jmap] Address Validation (was Re: Submission) Ted Lemon
- Re: [Jmap] Address Validation (was Re: Submission) Adrien de Croy
- Re: [Jmap] Address Validation (was Re: Submission) Bron Gondwana
- Re: [Jmap] Address Validation (was Re: Submission) Paul Smith
- Re: [Jmap] Address Validation (was Re: Submission) Adrien de Croy
- Re: [Jmap] Address Validation (was Re: Submission) Paul Smith
- Re: [Jmap] Address Validation (was Re: Submission) Paul Smith
- Re: [Jmap] Submission Mads Hjorth
- Re: [Jmap] Address Validation (was Re: Submission) Cyrus Daboo
- Re: [Jmap] Address Validation (was Re: Submission) Ted Lemon
- Re: [Jmap] Submission John R Levine
- Re: [Jmap] Address Validation (was Re: Submission) Adrien de Croy
- Re: [Jmap] Address Validation (was Re: Submission) Paul Smith
- Re: [Jmap] Address Validation (was Re: Submission) Paul Smith
- Re: [Jmap] Address Validation (was Re: Submission) Adrien de Croy
- Re: [Jmap] Address Validation (was Re: Submission) Cyrus Daboo
- Re: [Jmap] Address Validation (was Re: Submission) Paul Smith
- Re: [Jmap] Address Validation (was Re: Submission) Alexey Melnikov
- Re: [Jmap] Address Validation (was Re: Submission) Paul Smith
- Re: [Jmap] Address Validation (was Re: Submission) Brandon Long
- Re: [Jmap] Address Validation (was Re: Submission) Chris Newman