Re: [Jmap] Submission

"Adrien de Croy" <adrien@qbik.com> Wed, 19 April 2017 08:31 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 1746E131572 for <jmap@ietfa.amsl.com>; Wed, 19 Apr 2017 01:31:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RP_MATCHES_RCVD=-0.001, URIBL_BLOCKED=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 eXyQddvqggkn for <jmap@ietfa.amsl.com>; Wed, 19 Apr 2017 01:31:32 -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 09685131574 for <jmap@ietf.org>; Wed, 19 Apr 2017 01:31:30 -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 <0001023066@smtp.qbik.com>; Wed, 19 Apr 2017 20:31:27 +1200
From: Adrien de Croy <adrien@qbik.com>
To: Neil Jenkins <neilj@fastmail.com>, "jmap@ietf.org" <jmap@ietf.org>
Date: Wed, 19 Apr 2017 08:31:27 +0000
Message-Id: <em325289ca-eee8-4c74-85de-cb55a2dc5085@bodybag>
In-Reply-To: <1492585876.3100717.948941576.3168BAAE@webmail.messagingengine.com>
References: <em27fa7b29-5584-44f3-aa88-086ce734ab59@bodybag> <1492585876.3100717.948941576.3168BAAE@webmail.messagingengine.com>
Reply-To: Adrien de Croy <adrien@qbik.com>
User-Agent: eM_Client/7.0.27943.0
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="------=_MB483AE999-08AB-4859-85CE-4B6D1552FCAC"
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/2BwUydhufH9SUopildngTiXGp38>
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 08:31:35 -0000

OK on delayed send.

NTP I wouldn't rely on.  I still often see clock divergence.

but frankly the server parsing the envelope out of the message seems 
like a hack, which also limits options to a subset of what a sender can 
do with SMTP.

Surely it's simple to have a submit command which takes envelope 
attributes.  That way is deterministic.

I agree about option hell, that's one thing I'd like to leave behind 
with IMAP.

But parsing messages, scraping an envelope, and stripping unwanted 
headers seems fragile.  A server failing to strip BCC headers leaks 
private information.  It's also a lot more work for the server, and no 
real difference either way for the client.

Adrien




------ Original Message ------
From: "Neil Jenkins" <neilj@fastmail.com>
To: "jmap@ietf.org" <jmap@ietf.org>
Sent: 19/04/2017 7:11:16 PM
Subject: Re: [Jmap] Submission

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