Re: [Jmap] Submission

Ted Lemon <mellon@fugue.com> Thu, 20 April 2017 01:55 UTC

Return-Path: <mellon@fugue.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 0FDD212EAE0 for <jmap@ietfa.amsl.com>; Wed, 19 Apr 2017 18:55:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fugue-com.20150623.gappssmtp.com
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 4EiB6wixnUOt for <jmap@ietfa.amsl.com>; Wed, 19 Apr 2017 18:55:43 -0700 (PDT)
Received: from mail-qt0-x235.google.com (mail-qt0-x235.google.com [IPv6:2607:f8b0:400d:c0d::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 00FAB12778E for <jmap@ietf.org>; Wed, 19 Apr 2017 18:55:42 -0700 (PDT)
Received: by mail-qt0-x235.google.com with SMTP id m36so34520757qtb.0 for <jmap@ietf.org>; Wed, 19 Apr 2017 18:55:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fugue-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=ctebnSRnOZxvL3fFx4nTk/+wr3HoPWUhPWAMlM+JJwU=; b=bVekXfKRWHAWQtlzK4BB/lON8cJSN0yXS8TtWtuJ8/tNvp1cPeKaOgh9ACZaIWwef7 f5hDaurN3u7qNi6VDyScGY+3rNbysqFWg6xmhLlBLgK3BDnnGIGLJ5QuctII2aV/+NCq 90ZJgXub+HIdxvCAfs5aCIXsw/Sj8IA2FoKxZOcL6hW2QHdgwOKEoO+5CMS18r545FDA r/blvixLv63MGfTc9gpa2XS1K6EnfodTs++HqIg/zTxmNyhg7Os0vcTCb9NqE6Azx+M2 fUdinAOSh7sLnygl/53MYljr8pytGdLPviD7jAf9alAROLts9PwO2QIrsdi2VYOIqa98 L89w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=ctebnSRnOZxvL3fFx4nTk/+wr3HoPWUhPWAMlM+JJwU=; b=ohJ+j4kLH3X10PBDFMkGDodIrRFhpSOpfq18EcNS2b424h5ODo3ezvHsp9kMxV9BeB H/J3kZ7bNuEeE2v9uDfy9ibTqMJuLESoJoXOfoxQv4+8iEXA/PmN9YWr1zHuXigDegNu EwCkCv7i6ZKSdaWpk8jYlpqZ3ulNoIe9aOKI8vPZvnlsGwB+xfpfh16RITKsUIeShBKB Buy7ZiW/m1RWHJ+6V7OL6hi0aRbIjopCR1z+RDHXKoO3AtCyvpYtvZKvw7RTs/7DoIK3 40CeJmlR0wFCio9qAD+o9FlI/SwMrKqCkpHWMGXcmj9Tv8duEPg2IeTxXpumy7h4gmNu DO6Q==
X-Gm-Message-State: AN3rC/7iQ89taWfzANQUpz+bYD3N/FKPa93eFPkV00JvCoq4pmXPFHh1 vLzrsUb75FkgfiGknXU=
X-Received: by 10.200.44.130 with SMTP id 2mr5972507qtw.59.1492653342122; Wed, 19 Apr 2017 18:55:42 -0700 (PDT)
Received: from [10.0.20.202] (c-73-167-64-188.hsd1.ma.comcast.net. [73.167.64.188]) by smtp.gmail.com with ESMTPSA id i16sm3192305qta.61.2017.04.19.18.55.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 19 Apr 2017 18:55:41 -0700 (PDT)
From: Ted Lemon <mellon@fugue.com>
Message-Id: <A0FCE54A-8AFA-4267-9567-A218A12F1AAD@fugue.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_6625C96C-EBD3-4E56-8216-238A38BF12C2"
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
Date: Wed, 19 Apr 2017 21:55:39 -0400
In-Reply-To: <C987AD7A-84F0-4400-B418-77C58C0827C9@oracle.com>
Cc: "jmap@ietf.org" <jmap@ietf.org>
To: Chris Newman <Chris.Newman@oracle.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>
X-Mailer: Apple Mail (2.3273)
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/U8WRvMvruNPo-3j0zpQJ9GrX1Rg>
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 01:55:45 -0000

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.

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.   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.

The point that I am arguing is that sent messages really do have a place in something that is notionally a mail store, and those messages serve as a place where delivery status can be found.   Message submission should not be a transaction: it should be a process.   Notification should work even if the MUA isn't present at the time of failure, and should be available in all MUAs, not just the sending MUA. It should be presentable to the user in a way that makes sense.   A "sent" folder makes sense.   A separate queue construct does not.   Forcing the MUA to fake this isn't going to produce a good user experience.