JSON Meta Application Protocol

The JSON Meta Application Protocol (JMAP) is a set of related open Internet Standard protocols for handling email. JMAP is implemented using JSON APIs over HTTP and has been developed as an alternative to IMAP/SMTP and proprietary email APIs such as Gmail and 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]

JSON Meta Application Protocol (JMAP)
International standard
  • Core: RFC 8620
  • Mail: RFC 8621
  • WebSocket: RFC 8887
Developed by
IntroducedJuly 18, 2019 (2019-07-18)
IndustryNetwork communications

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 wrote that "IMAP is resource hungry, difficult for developers to learn, and does not work well for network-constrained mobile devices." And they noted that it interfaces in a complicated way with other protocols like SMTP, CalDAV, and CardDAV, and with calendars and contacts.[3]

They believe that IMAP and SMTP are ill-suited to modern mobile networks and in high-latency scenarios, and as a result, this has led to a stagnation in the quality of (especially free) email clients, and to a proliferation of proprietary protocols for instance for Google's Gmail and Microsoft's Outlook, all of which are meant to mitigate the major drawbacks of using the current generation of popular protocols.[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 Australia-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.[10]

Other ongoing JMAP drafts at IETF are for dealing with calendars, contacts, Message Disposition Notification (return receipts), quotas, Sieve mail filtering, and S/MIME signature verification.[2] The working group has set milestones for these to be finalised by the end of 2020.[7]

Implementations

  • As of version 3.0 Apache Software Foundation’s free mail-server Apache James has “experimental” support for JMAP.[11][12] The OpenPaas collaboration platform provides a webmail implementation supporting James and JMAP.[13]
  • Cyrus IMAP supports JMAP core and mail, with “experimental” support for calendars and contacts, as of version 3.2.0 released in May 2020.[14]
  • Ltt.rs is a proof of concept email client for Android that only supports JMAP.[15]

See also

References

  1. "JSON Meta Application Protocol Specification (JMAP)". jmap.io. Fastmail. Retrieved 2020-05-03.
  2. "Jmap Status Pages". IETF Tools. Internet Engineering Task Force.
  3. Gondwana, Bron; Jenkins, Neil (6 May 2019). "JMAP: A modern, open email protocol". IETF Blog. Internet Engineering Task Force. Retrieved 25 September 2020.
  4. Gondwana, Bron (27 December 2018). "JMAP is on the home straight". Fastmail Blog. Fastmail. Retrieved 25 September 2020.
  5. "Dear Mr Laguna, IMAP is Not the Right Protocol for Chat". atmail blog.
  6. "FOSDEM 2019: IMAP, JMAP, and the Future of Open Email Standards". Peer tube. Retrieved 2019-02-16.
  7. "JSON Mail Access Protocol (jmap)". IETF Datatracker. Internet Engineering Task Force. Retrieved 25 September 2020.
  8. "RFC 8620 - The JSON Meta Application Protocol (JMAP)". Internet Engineering Task Force. July 2019. Retrieved 25 September 2020.
  9. "RFC 8621 - The JSON Meta Application Protocol (JMAP) for Mail". Internet Engineering Task Force. August 2019. Retrieved 25 September 2020.
  10. "RFC 8887 - A JSON Meta Application Protocol (JMAP) Subprotocol for WebSocket". Internet Engineering Task Force. August 2020. Retrieved 25 September 2020.
  11. "Apache James Project – Apache James Server 3 - Release Notes". Retrieved 2019-02-16.
  12. "Apache James Enterprise Mail Server Features".
  13. "OpenPaaS Documentation".
  14. "Cyrus IMAP 3.2.0 Release Notes". Cyrus IMAP. 4 May 2020. Retrieved 25 September 2020.
  15. "Ltt.rs for Android Github repository".
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.