See more of JMAP in action from these providers:
JMAP software
Clients
- JMAP Demo Webmail (JavaScript, MIT): a sophisticated demo webmail client to be used as a base for new projects. Default client for the proxy.
- JMAP::Tester (Perl, Perl5): a JMAP client made for testing JMAP servers.
- Cypht: lightweight Open Source webmail written in PHP and JavaScript.
- Ltt.rs (Java, Apache): an email client for Android
- Group-Office (Javascript): Open source groupware and collaboration platform
- meli (Rust): terminal email client (GPLv3)
- Mailtemi , a native iOS email client
- tmail-flutter (Dart): Android, iOS client
- mujmap (Rust): Synchronize JMAP mail with notmuch
Servers
- JMAP Proxy (Perl, MIT): a complete JMAP server implementation that uses any IMAP, CalDAV and CardDAV store as a backend. Also available as a hosted service at proxy.jmap.io.
- Cyrus IMAP (C, BSD-style): A scalable enterprise-grade IMAP, CalDAV and CardDAV server. The 3.0 series is adding JMAP support, instructions to enable it are here.
- Apache James (Java, Apache): Apache James, a.k.a. Java Apache Mail Enterprise Server is an open source mail server written entirely in Java. The 3.0 series is adding JMAP support, upcoming 3.6.0 adds support for JMAP over websocket.
- Group-Office (PHP): Open source groupware and collaboration platform
- atmail (golang, proprietary)
- tmail-backend (Java, Apache): builds on Apache James with extra features
- hyper-auth-proxy (Rust): A proxy to do HTTP basic auth from a JWT token and redis session credentials; build to add JWT bearer auth support to Cyrus’s JMAP.
- Stalwart JMAP (Rust, AGPLv3): Open-source JMAP server designed to be robust, secure and scalable. Includes full support for JMAP Core, JMAP Mail, JMAP for Sieve, JMAP over WebSocket, JMAP for Quotas and JMAP Blob Management.
Libraries
- JMAP-JS (JavaScript, MIT): a full implementation of the JMAP mail, calendar and contacts model in JavaScript. It supports asynchronous local changes and is tolerant of network failure – actions will update the UI instantly, then synchronise changes back to the server when it can. It also has multi-level undo/redo support. Used by the demo webmail.
- jmap-client-ts (TypeScript, MIT): a lightweight promise-based API to make JMAP requests.
- zend-jmap (PHP, New BSD): JMAP for Zend Framework
- Java JMAP Library (Java 7, Apache): a low level jmap-client library as well as a higher level jmap-mua library.
- melib (Rust): mail client library used in meli (GPLv3)
- jmap-rs (Rust; in development): Rust client (and maybe server) library for JMAP
- jmapc (Python; partially implemented): Python 3 client library for JMAP mail
- jmap-client (Rust; Apache/MIT): JMAP client library written in Rust. Includes full support for JMAP Core, JMAP Mail and JMAP over WebSocket.
- go-jmap (Go, MIT): JMAP client library written in Go
Proxies
- Stalwart IMAP-to-JMAP Proxy (Rust, AGPLv3): Open-source IMAP4-to-JMAP proxy. Supports IMAP4rev2, IMAP4rev1 and multiple extensions.
Planned
- Dovecot
- Mimestream, a native macOS email client
Requested
- RainLoop Webmail
- Horde IMP Webmail
- Thunderbird
- Claws Mail
- Mailu
- K-9 Mail
- Nextcloud
- Geary
- Evolution
- Alps Webmail
If you’re working on a project that uses JMAP, please open an issue or make a pull request on GitHub to update this page.