Re: [Jmap] Submission

Neil Jenkins <neilj@fastmail.com> Wed, 19 April 2017 07:11 UTC

Return-Path: <neilj@fastmail.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 15F85131529 for <jmap@ietfa.amsl.com>; Wed, 19 Apr 2017 00:11:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.719
X-Spam-Level:
X-Spam-Status: No, score=-2.719 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fastmail.com header.b=PuCXBKvb; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=N+ZhxGQN
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 bKXNiNXKJKIz for <jmap@ietfa.amsl.com>; Wed, 19 Apr 2017 00:11:17 -0700 (PDT)
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0F832129438 for <jmap@ietf.org>; Wed, 19 Apr 2017 00:11:17 -0700 (PDT)
Received: from betaweb1.internal (betaweb1.nyi.internal [10.202.2.10]) by mailout.nyi.internal (Postfix) with ESMTP id 68E6120D69 for <jmap@ietf.org>; Wed, 19 Apr 2017 03:11:16 -0400 (EDT)
Received: from betaweb1 ([::ffff:10.202.2.10]) by betaweb1.internal (MEProxy); Wed, 19 Apr 2017 03:11:16 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=gYcR4ocldKn9jjg79qsmxxb1SGt3h na70eHBdcHU8oQ=; b=PuCXBKvbzCYbzLG5lfh3dyicJSAwwaf4DyU3xGmtzN/1v U/wib6rA/Xlt4c4Q+M+2pKNLHwGoVhYOT40egdeFlComRkoxyC5wd2THGpLXslf1 jZRNlaQdQndA7jsxAxkcNiIuLaUnU36WY9tk8Y5L3TpXC3uFqzXwSggiJOWdPf8/ OPmS4XNixRjdIk/KwYLJQvZxCbkTPGYdQJHJo/LmrHBzgGAzTkne/ji6PhxmYqWO VCpvJKz3RxTe6rhLV8ByRa5m1ZdKx9pas/eFQBWrTncAJhCQdrpPHFm320HVU6qj 3XhlY5S2oBny3/7W4rEraoGBd047+h7DGhnrijPZA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=gYcR4o cldKn9jjg79qsmxxb1SGt3hna70eHBdcHU8oQ=; b=N+ZhxGQNWB8QgRg1ePjUde EMhPgVFdxcHX9l6V+ztLBlo2kHJQQHU5fuo9/dp7Lz4f1HaXqUUl0z5RgnM6uVN9 qXU2tx2nku0OcDX8LIj6bnycXMQRtx6nmFgpotWrD6CX2LjVVCDUPlYN95K6PUh9 NCClerFqhh1JGc7yKPhGq1bHkXp7ewzern3QWs83IAPw4agVNXaJynK4PnX2j5aN i5Z3Cvyg5qDyPygcbg0NZT6X9ykElJqzZuIcEYUE6vbE06SrcGWzD7Y8jpE0tbqi tlsJ0pidJe0ZJJy53vKP/b2ewpEMSbjbXEYqkkjEkMv3FyGTk/VrRu1JpmLlCB3g ==
X-ME-Sender: <xms:lA33WJFXaBnLpmddqDbWIMocELUsVvjh4as0r3gF55HZq1zYVDVEeA>
Received: by mailuser.nyi.internal (Postfix, from userid 99) id 1C7EEE2796; Wed, 19 Apr 2017 03:11:16 -0400 (EDT)
Message-Id: <1492585876.3100717.948941576.3168BAAE@webmail.messagingengine.com>
From: Neil Jenkins <neilj@fastmail.com>
To: jmap@ietf.org
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: multipart/alternative; boundary="_----------=_149258587631007170"
X-Mailer: MessagingEngine.com Webmail Interface - ajax-aa3edb73
In-Reply-To: <em27fa7b29-5584-44f3-aa88-086ce734ab59@bodybag>
Date: Wed, 19 Apr 2017 17:11:16 +1000
References: <em27fa7b29-5584-44f3-aa88-086ce734ab59@bodybag>
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/4S3esgPOSPnPPf4GJhn---nUoos>
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 07:11:19 -0000

Yes, the intention is the server will build the RFC5322 message, add and
strip headers as appropriate and set the SMTP envelope information.
After sending, the server moves the message from the Outbox to Sent, or
deletes it and writes a new one if it adds in extra information (since
the message is immutable with the same id). This covers everything
normal email clients need to do. There are other niche use cases, but
JMAP doesn't have to deal with everything. SMTP Submission will still
exist, but this simplifies things in the overwhelmingly common case.
> * It requires the client and server clocks to be in synch

Almost every device these days uses NTP or equivalent to set their
system clock. We have not observed significant clock skew issues with
our client for years.
> * it delays the message (who ever wants to do this?)

You're joking, right? The ability to "undo send" is *enormously*
popular. Being able to do this in a standardised way for desktop clients
would be a huge win over the current situation. Normally you would use a
window of something like 30 seconds in the future. Scheduled send is
also moderately popular in a certain niche.
> * opening a window to cancel the message before it's sent seems a bit
>   nonsensical / contrived to me sorry.  A UA using this is just mainly
>   going to make itself useless for mail conversations by unnecessarily
>   delaying mail.
The UA does not *have* to delay the send. It can omit setting an
explicit date on the message, in which case the server will set the date
to now(), and immediately send the message. But the ability to do so for
clients that want to make use of this is very important.
> I think submission should be a separate command so that the client can
> specify needed envelope information independently of the message
> content.  Even if this were an additional option.
The trouble is options increase complexity and testing requirements. The
current spec does not *require* servers to support delayed send. The
canDelaySend capability property lets clients know if it does. Servers
that don't support it could even not have a real "outbox" folder but
just a synthetic one as anything moved to it is sent immediately (or the
move is rejected if the message is invalid).
Neil.