The JSON Meta Application Protocol (JMAP) is a set of related open Internet Standardprotocols for handling email. JMAP is implemented using JSONAPIs over HTTP and has been developed as an alternative to IMAP/SMTP and proprietary email APIs such as Google's Gmail and Microsoft's MAPI (used by Outlook).[1]
Additional protocols and data models being built on top of the core of JMAP for handling contacts and calendar synchronization are meant to be potential replacements for CardDAV and CalDAV, and other support is currently in the works.[2]
Motivation
Developers Bron Gondwana and Neil Jenkins wrote on the Internet Engineering Task Force (IETF) news site that "the current open protocols connecting email clients and servers, such as IMAP, were not designed for the modern age." They cited IMAP's complexity, high resource use, poor adaptability to the network constraints of modern mobile devices, and complex interactions with other protocols like SMTP, CalDAV, and CardDAV.[3] They believe this has resulted in a stagnation in the quality of (especially free) email clients, and the creation of proprietary protocols to overcome these limitations, for instance MAPI, used by Microsoft's Exchange Server and Outlook email products.[1]
Design
Gondwana and Jenkins wrote, "JMAP is the result of efforts to address shortcomings [in existing protocols], providing a modern, efficient, easy-to-use API, built on many years of experience and field testing."[3]
The protocol was developed with the intention of providing a modern open, reliable, and easy-to-use solution, and as a result it relies heavily upon the commonly-implemented JSON (JavaScript Object Notation). According to Gondwana of Fastmail—which has been a leading developer of the protocol -- "The use of JSON and HTTP as the basis of JMAP was always a key point — it means that people wanting to build something on top of email don’t have to re-implement complex parsers or find a software library in order to get started."[4]
After atmail decided to implement JMAP, CEO Dave Richards wrote in 2018 that "the complexities required to implement IMAP in both user and server side software has resulted in user difficulties and a lack of software options, along with a rigid user experience...The new JMAP protocol solves the existing issues and is modular enough to take advantage of future technology. JMAP makes email better."[5]
Development
JMAP started around 2014 as an internal development project by the Australian-based email provider Fastmail.[6]
Starting in 2017 a working group at the IETF has been leading the development and standardization process.[7] The core protocol and mail specifications were published in July and August 2019 by Neil Jenkins of Fastmail and Chris Newman of Oracle, as RFC 8620 and RFC 8621.[4][8][9] The WebSocket specification was later published in August 2020 as RFC 8887, and Message Disposition Notification (return receipts) in March 2021 as RFC 9007.[10][11]
Other ongoing JMAP drafts at IETF are for dealing with calendars, contacts, tasks, and Sieve mail filtering. [2] The working group originally set milestones for these to be finalised by the end of 2020;[7] as of November 2023, two further JMAP extensions have been submitted to the IESG as proposed standards: blob management (RFC9404), and Quotas (RFC9425).
Implementations
As of version 3.8.1 Apache Software Foundation’s free mail-server Apache James has "experimental" support for JMAP.[12][13] The OpenPaas collaboration platform provides a webmail implementation supporting James and JMAP.[14]
Cyrus IMAP provisionally supports the JMAP protocol standards as of version 3.8.3, released in May 2024, when built with this functionality.[15]
Mailtemi is a JMAP/MS Graph/IMAP email app for iOS and Android. It supports multiple email accounts, contacts, and calendars.[16]
Ltt.rs is a proof of concept email client for Android that supports only JMAP.[17]
Stalwart JMAP server is a scalable open-source JMAP server written in Rust with full JMAP Core, JMAP Mail, JMAP over WebSocket at IMAP4rev2 support.[18]
^ abGondwana, Bron; Jenkins, Neil (6 May 2019). "JMAP: A modern, open email protocol". IETF Blog. Internet Engineering Task Force. Retrieved 25 September 2020.