Re: [Jmap] Best vs Good enough - adoption of JMAP
Bron Gondwana <brong@fastmail.fm> Tue, 25 April 2017 05:51 UTC
Return-Path: <brong@fastmail.fm>
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 1E32D1319C4 for <jmap@ietfa.amsl.com>; Mon, 24 Apr 2017 22:51:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.718
X-Spam-Level:
X-Spam-Status: No, score=-2.718 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, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fastmail.fm header.b=o+6mDA/J; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=eZoyzgl8
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 qJkLIOjsKL8Z for <jmap@ietfa.amsl.com>; Mon, 24 Apr 2017 22:51:35 -0700 (PDT)
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 58A08127011 for <jmap@ietf.org>; Mon, 24 Apr 2017 22:51:35 -0700 (PDT)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 9EC3C209D7 for <jmap@ietf.org>; Tue, 25 Apr 2017 01:51:34 -0400 (EDT)
Received: from web4 ([10.202.2.214]) by compute6.internal (MEProxy); Tue, 25 Apr 2017 01:51:34 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.fm; 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=It6Au3/NGSaZI15kSyv1BuLcSD/+d fmsRP5QUnZ/TWY=; b=o+6mDA/J+uAh8M9SWTHelcnHP57V5ofs/3vUshRkZdMDU 0wXjkl9uzAy4vfi/lk2UqgiwJEynbdOMQRR9huQV4ipntZbztTALcchPpnVkG2Cs QLnHiedliPyhDaLEf/Zs54c+JZLhV02JI/c6NSKwgrl6X1Es3QqWUPUHTV5GeW3P SVYoIpAp0EMLCYpWczQtl7+KXMD/HcoU4cVz/3lZTLK16Fv1r/sQ50s0m/Ysf2XU BMC66n+wSTPTs/bQtqTS2fj7JZmd8UkuJ2i9y95mhMDnXvIBkmG8EvxGENCftjl3 2mGiDq3fTzojCby/4Qcv0N9sXoNqzkp4bynG082XQ==
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=It6Au3 /NGSaZI15kSyv1BuLcSD/+dfmsRP5QUnZ/TWY=; b=eZoyzgl8k3rnebQoInH/tB O5E7+koNC3nsWwyc+tigYzATtAzFrCiB3AgzSUXutbAzX/FWcWPL4cbckHvvKvrh slqKbj/JYerQZtZ9urXXhh282i0bYw32bKN2hxp038P+iu3gRF3UWIN7JORdM/dG ix1yh9cY2FH9lTKaZNVoyM7yPhBahnACE+zdjp3HhG9omd48sGjnqKcx4c4jYJHg 242l/id1dP3XQh3zU6zk8t53+XaL0YfEEKlT9mCdfCbeH0kirzJtwio28xnvmCLw qKMY20rcfDHgl9ZLknktY2SAtnBZfYvmI+mX7AdOZFnBNUrTcdqxR2mHH2KGEmSw ==
X-ME-Sender: <xms:5uP-WNvK2HSyaYMHebXxoZS9_geFDlK4tXFVJJBEwEWfNc1wwlMRmg>
Received: by mailuser.nyi.internal (Postfix, from userid 99) id 7F3A8BAB6F; Tue, 25 Apr 2017 01:51:34 -0400 (EDT)
Message-Id: <1493099494.3022600.955184792.68A53782@webmail.messagingengine.com>
From: Bron Gondwana <brong@fastmail.fm>
To: jmap@ietf.org
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: multipart/alternative; boundary="_----------=_149309949430226001"
X-Mailer: MessagingEngine.com Webmail Interface - ajax-29d47332
In-Reply-To: <CFC38D13-0CB2-4ABF-9403-DF0F773314B7@fugue.com>
References: <em8b177018-4769-44ea-b033-90bd8155d11b@bodybag> <46F700A6-C2B1-488B-A8B4-6ACD45B03C31@oracle.com> <CFC38D13-0CB2-4ABF-9403-DF0F773314B7@fugue.com>
Date: Tue, 25 Apr 2017 15:51:34 +1000
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/P1vTNskRHFdkVI1VodI_7a9wwbQ>
Subject: Re: [Jmap] Best vs Good enough - adoption of JMAP
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: Tue, 25 Apr 2017 05:51:38 -0000
On Tue, 25 Apr 2017, at 10:54, Ted Lemon wrote: > On Apr 24, 2017, at 8:39 PM, Chris Newman > <chris.newman@oracle.com> wrote:>> For example, if I'm operating a million-user deployment, it's >> critical to monitor the mail queues for problems. The proposed JMAP >> "outbox" model means I'm adding one million new mail queues to the >> monitoring system. That's a major deployment change; and thus a >> significant barrier to JMAP deployability.> This doesn't really follow. It's perfectly possible that the way > that the backend implements this is that when something is stuffed in > outbox, it's put in the global mail queue, moved to sent, and the > delivery status in sent is "pending." Now the MUA can tell that the > message has been queued, but no delivery attempt has been made. Once > the delivery attempt is completed, the MTA returns a status to the > JMAP server indicating that the mail has been sent, or that it failed. > Or it doesn't; if it doesn't support this, then we just mark the > message as "sent" as soon as it is queued. But the facility for a > richer status report is present. In principle the JMAP server can > use properly formatted and authenticated bounce messages to update > delivery status if that is available. (obviously, iterate across all > the destination addresses on the message.) All this is assuming that you have a writeback rather than writethrough Outbox. The implementation of Outbox in the perl JMAP proxy, for example, is synchronous and emphemeral. Nothing can ever actually exist in the Outbox. It's 79 lines of perl - currently here: https://github.com/jmapio/jmap-perl/blob/master/JMAP/ImapDB.pm#L1116 It formulates the SMTP command, submits the content, then puts the message in the Sent folder, all within a single DB transaction. It's easy to create a JMAP server which doesn't hold messages in a queue in the Outbox. Though we also need event handling for Calendar Alerts and other fun stuff in our server, so having those queues include Outboxes isn't actually a huge additional management expense. The server will already have tooling for tracking events which are supposed to fire for newly added messages, and will already have error reporting for any errors. The fact that there are a million mailboxes (FastMail's infrastructure is also on this scale) doesn't materially affect the amount of work once there's automation. No matter how many mailboxes you have, a good infrastructure will have retry ability and quite reliable outbound queue injection. You just don't get failures transferring from Outbox into the regular SMTP queues. And if you do, at least the messages are within your system rather than in someone's client where you wind up getting reports of failures through support channels and are sitting there on third line support trying to debug SMTP issues on somebody's local computer with software outside your control on some bogus network with bogus antivirus. I much prefer debugging message transfer between two systems that I have full control over. Bron. -- Bron Gondwana brong@fastmail.fm
- Re: [Jmap] Best vs Good enough - adoption of JMAP Ted Lemon
- Re: [Jmap] Best vs Good enough - adoption of JMAP Ted Lemon
- [Jmap] Best vs Good enough - adoption of JMAP Adrien de Croy
- Re: [Jmap] Best vs Good enough - adoption of JMAP Bron Gondwana
- Re: [Jmap] Best vs Good enough - adoption of JMAP Bron Gondwana
- Re: [Jmap] Best vs Good enough - adoption of JMAP Chris Newman
- Re: [Jmap] Best vs Good enough - adoption of JMAP Neil Jenkins
- Re: [Jmap] Best vs Good enough - adoption of JMAP Chris Newman
- Re: [Jmap] Best vs Good enough - adoption of JMAP Adrien de Croy
- Re: [Jmap] Best vs Good enough - adoption of JMAP Ted Lemon
- Re: [Jmap] Best vs Good enough - adoption of JMAP Chris Newman
- Re: [Jmap] Best vs Good enough - adoption of JMAP Neil Jenkins
- Re: [Jmap] Best vs Good enough - adoption of JMAP Ted Lemon
- Re: [Jmap] Best vs Good enough - adoption of JMAP Chris Newman
- Re: [Jmap] Best vs Good enough - adoption of JMAP Ned Freed
- Re: [Jmap] Best vs Good enough - adoption of JMAP Ted Lemon
- Re: [Jmap] Best vs Good enough - adoption of JMAP Bron Gondwana
- Re: [Jmap] Best vs Good enough - adoption of JMAP Chris Newman
- Re: [Jmap] Best vs Good enough - adoption of JMAP Ned Freed
- Re: [Jmap] Best vs Good enough - adoption of JMAP Ned Freed
- Re: [Jmap] simpler future release & unsend withou… Ted Lemon
- [Jmap] simpler future release & unsend without ou… Chris Newman
- Re: [Jmap] Best vs Good enough - adoption of JMAP Neil Jenkins
- Re: [Jmap] Best vs Good enough - adoption of JMAP Brandon Long
- Re: [Jmap] Best vs Good enough - adoption of JMAP Brandon Long
- Re: [Jmap] simpler future release & unsend withou… Chris Newman
- Re: [Jmap] simpler future release & unsend withou… Neil Jenkins
- Re: [Jmap] Best vs Good enough - adoption of JMAP Chris Newman
- Re: [Jmap] simpler future release & unsend withou… Neil Jenkins
- Re: [Jmap] simpler future release & unsend withou… Neil Jenkins
- Re: [Jmap] simpler future release & unsend withou… Adrien de Croy
- Re: [Jmap] simpler future release & unsend withou… Adrien de Croy
- Re: [Jmap] Best vs Good enough - adoption of JMAP Ned Freed
- Re: [Jmap] simpler future release & unsend withou… Ned Freed
- Re: [Jmap] simpler future release & unsend withou… Neil Jenkins
- Re: [Jmap] simpler future release & unsend withou… Chris Newman
- Re: [Jmap] simpler future release & unsend withou… Neil Jenkins
- Re: [Jmap] simpler future release & unsend withou… Ted Lemon
- Re: [Jmap] simpler future release & unsend withou… Chris Newman
- Re: [Jmap] simpler future release & unsend withou… ajay
- Re: [Jmap] simpler future release & unsend withou… xn--l1b0cxc
- Re: [Jmap] simpler future release & unsend withou… xn--l1b0cxc
- Re: [Jmap] simpler future release & unsend withou… Neil Jenkins