Re: [Jmap] Attachments and composing more complex MIME structures

Alexey Melnikov <alexey.melnikov@isode.com> Wed, 09 August 2017 10:27 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 7CA331320BB for <jmap@ietfa.amsl.com>; Wed, 9 Aug 2017 03:27:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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, SPF_PASS=-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 Kjc6I0zdNDPV for <jmap@ietfa.amsl.com>; Wed, 9 Aug 2017 03:27:19 -0700 (PDT)
Received: from waldorf.isode.com (waldorf.isode.com [62.232.206.188]) by ietfa.amsl.com (Postfix) with ESMTP id DD1571243F3 for <jmap@ietf.org>; Wed, 9 Aug 2017 03:27:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1502274438; d=isode.com; s=june2016; i=@isode.com; bh=c6t7JaqjzzgMMxwFg+A8ola16HhC+rKD2lw8+IhHN2g=; 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=IuNwGp1KSDCooELnhuqk7K7VrucYhuPFGPerqWh/w8EHm+4FRzTeBPuCSF/2vTPZpZZpat eKZnVFKeyhPM8ZZF0usn5eWMBmS6CtP2JvKtXOuIuCtjK0CKbLECLnOXfpdByEglmBlXWu 42eiYdJBAwY2DxMOe0XbWShzeMac8hA=;
Received: from [172.20.1.215] (dhcp-215.isode.net [172.20.1.215]) by waldorf.isode.com (submission channel) via TCP with ESMTPSA id <WYrjhQBtVWrD@waldorf.isode.com>; Wed, 9 Aug 2017 11:27:17 +0100
To: Neil Jenkins <neilj@fastmailteam.com>, IETF JMAP Mailing List <jmap@ietf.org>
References: <20170808092341.GB1457@meili> <1502188117.322839.1066636392.362BFD31@webmail.messagingengine.com> <20170808123146.GD1457@meili> <1502265811.1510508.1067740024.5044583F@webmail.messagingengine.com>
From: Alexey Melnikov <alexey.melnikov@isode.com>
Message-ID: <9e98bcd0-d862-6566-c553-6fed80fb744c@isode.com>
Date: Wed, 09 Aug 2017 11:26:57 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1
In-Reply-To: <1502265811.1510508.1067740024.5044583F@webmail.messagingengine.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="------------E260B73E2C97A3FC24A94347"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/Svr5qMwFKCaeujg5FyVbD8kjMN4>
Subject: Re: [Jmap] Attachments and composing more complex MIME structures
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, 09 Aug 2017 10:27:20 -0000

On 09/08/2017 09:03, Neil Jenkins wrote:

> On Tue, 8 Aug 2017, at 10:31 PM, Josef 'Jeff' Sipek wrote:
>> Is there a MIME-aware client that breaks with what the iOS client 
>> generates?
>
> I don't know; I haven't tested this exhaustively. I know we had bugs 
> with this multipart/mixed style at one point, since it was pretty 
> uncommon so I wouldn't be surprised if there were bugs or lack of 
> support elsewhere too.
I've spent some times implementing this in our client. We had some bugs, 
but it works nicely now. You had to implement this if you are a MIME 
capable email client.

> More importantly, plain text is deeply problematic on mobile because 
> of hard wrapping. Format=flowed has zero traction 
> <https://blog.fastmail.com/2016/12/17/format-flowed/>,
Let's not exaggerate. It is being used.

> so you mostly end up with hard wrapping that breaks in /really/ 
> awkward positions on many mobile screens, as it normally presumes you 
> can fit 80 chars in a single line.
>
>> In theory the multipart/mixed approach should be **more** compatible 
>> than HTML, since the client doesn't have to deal with HTML on top of 
>> dealing with MIME anyway.
>
> Maybe, but I wouldn't be surprised if the MIME handling in some 
> clients extended only to "find the right part to show".
>
>> As a mutt user that likes text/plain emails... it'd be great if these 
>> generated emails displayed nicely with non-HTML based MUAs. :)
>
> There's no reason why the server can't generate a reasonable textBody 
> component as well (it will have to do this as well as htmlBody in this 
> case anyway). I believe you could build an excellent plain-text only 
> client on JMAP if you wanted, although realistically all modern email 
> clients have to deal with HTML.

True.
>> Is the goal to make only the simplest of clients easy to implement? 
>> Where does one draw the line between simple enough to use the nice 
>> jmap interface and too complex (IOW: just implement the whole RFC 
>> 5322/MIME/etc. stack and use the blob API)?
>
> I believe you could implement the functionality of most modern GUI 
> email clients without resorting to MIME parsing. This is basically the 
> goal: most clients never need to deal with the raw message, but some 
> with support for less common features can do so if they want (like for 
> S/MIME). For example, I believe you could implement all the 
> functionality in the iOS/macOS Mail apps using the JMAP Message 
> object, although the implementation underneath might vary in some 
> aspects like the one we're discussing.  (Neil, do you agree?).
>