Re: [Jmap] Submission

Alexey Melnikov <alexey.melnikov@isode.com> Wed, 19 April 2017 08:56 UTC

Return-Path: <alexey.melnikov@isode.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 DDBD8131594 for <jmap@ietfa.amsl.com>; Wed, 19 Apr 2017 01:56:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=isode.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 RVrPTA0-q11Y for <jmap@ietfa.amsl.com>; Wed, 19 Apr 2017 01:56:31 -0700 (PDT)
Received: from waldorf.isode.com (waldorf.isode.com [62.232.206.188]) by ietfa.amsl.com (Postfix) with ESMTP id A9516131585 for <jmap@ietf.org>; Wed, 19 Apr 2017 01:56:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1492592190; d=isode.com; s=june2016; i=@isode.com; bh=dE9vgbduREbT+ADyKWnzXQPi1pT4PdHfEkS1ku1olNI=; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version: In-Reply-To:References:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description; b=KI+VRpt4Eb2AKAe4XOv91mPppBON16M/d4YB0BNGudzhYem0/kxHO2HU4c0E7Ra6y3EJE8 HuzVtYz7GiECZB8E0TNdOSLA8nJZ8iG8scWeV3GRRshzFtcEA5qiVQZyZNqBxrdbRxKaJd HV2iOy6t9RfxxrcOfQgpf1e4uel0C5s=;
Received: from [10.1.127.18] ((unknown) [85.255.234.109]) by waldorf.isode.com (submission channel) via TCP with ESMTPSA id <WPcmPQB2Xanf@waldorf.isode.com>; Wed, 19 Apr 2017 09:56:30 +0100
X-SMTP-Protocol-Errors: NORDNS PIPELINING
From: Alexey Melnikov <alexey.melnikov@isode.com>
X-Mailer: iPhone Mail (13G35)
In-Reply-To: <em325289ca-eee8-4c74-85de-cb55a2dc5085@bodybag>
Date: Wed, 19 Apr 2017 10:11:42 +0100
Cc: Neil Jenkins <neilj@fastmail.com>, "jmap@ietf.org" <jmap@ietf.org>
Message-Id: <0D1582C6-5843-44EC-BDD0-DB484306B066@isode.com>
References: <em27fa7b29-5584-44f3-aa88-086ce734ab59@bodybag> <1492585876.3100717.948941576.3168BAAE@webmail.messagingengine.com> <em325289ca-eee8-4c74-85de-cb55a2dc5085@bodybag>
To: Adrien de Croy <adrien@qbik.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="Apple-Mail-661BB246-FF5B-4EA1-83FE-272D8FA55D18"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/IfkAIEztfA_tQZPZxgYzIwXgMog>
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:56:34 -0000

Hi,

> On 19 Apr 2017, at 09:31, Adrien de Croy <adrien@qbik.com> wrote:
> 
> 
> 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.

Personally I don't care whether it is a separate command versa extra (possibly optional) parameters for envelope on an existing one.

I think having parameters for envelope would be a good idea (and it would be consistent with earlier discussions on Submit in IMAP.) But I am wondering if we can make common cases simple for clients by not requiring the parameters.

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