# A mail server that supports JMAP (JSON Mail Access Protocol), to replace IMAP, SMTP, CardDAV and CalDAV)

**URL:** <https://forum.virtualmin.com/t/a-mail-server-that-supports-jmap-json-mail-access-protocol-to-replace-imap-smtp-carddav-and-caldav/126214>\
**Category:** Blue Skies\
**Created:** [April 25, 2024, 5:37am UTC](https://forum.virtualmin.com/t/a-mail-server-that-supports-jmap-json-mail-access-protocol-to-replace-imap-smtp-carddav-and-caldav/126214 "2024-04-25T05:37:09Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![marclaporte](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/marclaporte/32/1518_2.png) [@marclaporte](https://forum.virtualmin.com/u/marclaporte)\
**Post date:** [April 25, 2024, 5:37am UTC](https://forum.virtualmin.com/t/a-mail-server-that-supports-jmap-json-mail-access-protocol-to-replace-imap-smtp-carddav-and-caldav/126214/1 "2024-04-25T05:37:09Z")

</div>

JSON is an IETF standard:

- [https://datatracker.ietf.org/wg/jmap/about/](https://datatracker.ietf.org/wg/jmap/about/)
- [https://github.com/jmapio/jmap](https://github.com/jmapio/jmap)

Virtualmin uses Dovecot, where a core member indicated “We have no plans to actually start working on JMAP itself, but nothing prevents outside contributions. It would likely be in a separate git repository anyway.” Source: [https://dovecot.org/mailman3/hyperkitty/list/dovecot@dovecot.org/message/4FIXWCJGDHSGXXJZQ76B5K4HW7RHCRYQ/](https://dovecot.org/mailman3/hyperkitty/list/dovecot@dovecot.org/message/4FIXWCJGDHSGXXJZQ76B5K4HW7RHCRYQ/)

See previous discussions about JMAP:  
[https://dovecot.org/mailman3/hyperkitty/search?q=jmap&page=1&sort=date-desc](https://dovecot.org/mailman3/hyperkitty/search?q=jmap&page=1&sort=date-desc)

So supporting JMAP would require to use one of the other options.  
[https://jmap.io/software.html](https://jmap.io/software.html)

- [Apache James](http://james.apache.org/) (Java)
- [Cyrus IMAP](https://www.cyrusimap.org/) (C)
- [Stalwart JMAP](https://github.com/stalwartlabs/jmap-server/) (Rust)

Here you can compare the 3 projects. Interestingly, one is 2 years old, one is 17 years old and the other is 31 years old!  
[https://openhub.net/p/\_compare?project\_0=Apache+JAMES+Project&project\_1=Cyrus+IMAP&project\_2=Stalwart+Mail+Server](https://openhub.net/p/_compare?project_0=Apache+JAMES+Project&project_1=Cyrus+IMAP&project_2=Stalwart+Mail+Server)

I know the mail stack in Virtualmin is complex. But this is the “Blue Skies” section 😃

Thank you!

Marc

---

<div class="post-metadata">

**Author:** ![Joe](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/joe/32/9_2.png) [@Joe](https://forum.virtualmin.com/u/Joe)\
**Post date:** [April 25, 2024, 5:42pm UTC](https://forum.virtualmin.com/t/a-mail-server-that-supports-jmap-json-mail-access-protocol-to-replace-imap-smtp-carddav-and-caldav/126214/2 "2024-04-25T17:42:01Z")

</div>

I’ve tinkered a bit with Stalwart, and Cyrus is, of course, a known entity. I’d be hesitant to introduce a big Java thing to the stack.

JMAP is still a draft, AFAIK. I’ve been on the mailing list for like a decade, and I don’t think I’ve seen it being accepted as a standard. That doesn’t necessarily mean it isn’t useful or reasonable to deploy (but, it’s still a question whether it is useful yet, as there isn’t great client support…no point in having a JMAP server if nobody connects to it).

---

<div class="post-metadata">

**Author:** ![Joe](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/joe/32/9_2.png) [@Joe](https://forum.virtualmin.com/u/Joe)\
**Post date:** [April 25, 2024, 6:03pm UTC](https://forum.virtualmin.com/t/a-mail-server-that-supports-jmap-json-mail-access-protocol-to-replace-imap-smtp-carddav-and-caldav/126214/3 "2024-04-25T18:03:34Z")

</div>

And, worth thinking about whether JMAP actually provides anything valuable for non-web based clients. For web-based clients it makes a lot of sense, because the client can query the JMAP server directly (should such clients exist, but they currently don’t really, AFAIK the webmail clients that I’m aware of don’t have production-ready JMAP support, and Usermin certainly doesn’t), but for something like Thunderbird, IMAP is already quite efficient…JMAP probably can’t beat it, it just changes the format of the communication back and forth. Newer isn’t necessarily better in this case.

So, I like the idea of JMAP for webmail clients, but none of the webmail clients I pay attention to has support for JMAP.

---

<div class="post-metadata">

**Author:** ![marclaporte](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/marclaporte/32/1518_2.png) [@marclaporte](https://forum.virtualmin.com/u/marclaporte)\
**Post date:** [May 16, 2024, 1:54am UTC](https://forum.virtualmin.com/t/a-mail-server-that-supports-jmap-json-mail-access-protocol-to-replace-imap-smtp-carddav-and-caldav/126214/4 "2024-05-16T01:54:22Z")

</div>

> [@Joe](#):
>
> I don’t think I’ve seen it being accepted as a standard

You are correct. RFC 8620 is a “Proposed Standard”:  
[https://datatracker.ietf.org/doc/html/rfc8620](https://datatracker.ietf.org/doc/html/rfc8620)

As you know (but sharing for others), JMAP is not just for email. It is also for calendars, contacts, Sieve filters, and more. The email part was stabilized first and the rest has seen more recent work.

> [@Joe](#):
>
> So, I like the idea of JMAP for webmail clients, but none of the webmail clients I pay attention to has support for JMAP.

It is my pleasure to share with you that we have recently released Cypht 2.0.0, with JMAP support!  
[https://github.com/cypht-org/cypht/releases/tag/v2.0.0](https://github.com/cypht-org/cypht/releases/tag/v2.0.0)

We started in 2019 but after, our progress stalled. JMAP was a low priority and our active devs worked on some major architecture improvements and many new features. But now, things have changed. We have more devs and JMAP made it to the top of the priority list. Also, the project is globally more healthy. We have moved the project to a GitHub organization, and split up the responsibilities among a new team. In Cypht 2.0.0, we had 14 new contributors! (vs the previous version)

As of now, we only have one open issue related to JMAP within Cypht: [https://github.com/cypht-org/cypht/issues/931](https://github.com/cypht-org/cypht/issues/931). In theory, everything else works. Since this is so new, I do expect we’ll encounter issues and we will work in priority on all issues related to JMAP.

All the details can be found here:

- [https://github.com/cypht-org/cypht/issues/180](https://github.com/cypht-org/cypht/issues/180)
- [https://unencumberedbyfacts.com/2019/01/24/jmap-its-like-imap-but-not-really/](https://unencumberedbyfacts.com/2019/01/24/jmap-its-like-imap-but-not-really/)
- [https://unencumberedbyfacts.com/2023/06/14/cypht-rebooted/](https://unencumberedbyfacts.com/2023/06/14/cypht-rebooted/)

---

<div class="post-metadata">

**Author:** ![Ilia](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/ilia/32/10185_2.png) [@Ilia](https://forum.virtualmin.com/u/Ilia)\
**Post date:** [May 16, 2024, 12:33pm UTC](https://forum.virtualmin.com/t/a-mail-server-that-supports-jmap-json-mail-access-protocol-to-replace-imap-smtp-carddav-and-caldav/126214/5 "2024-05-16T12:33:15Z")

</div>

Thanks, Marc. It would be great to have a demo available in `www.cypht.org/demo` to log in and look around.

I also checked Cypht installation instructions and couldn’t find any for installing Cypht under a user domain. If it’s possible (and it might be), we could consider adding an automated script installer for it.

---

<div class="post-metadata">

**Author:** ![marclaporte](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/marclaporte/32/1518_2.png) [@marclaporte](https://forum.virtualmin.com/u/marclaporte)\
**Post date:** [May 17, 2024, 9:37am UTC](https://forum.virtualmin.com/t/a-mail-server-that-supports-jmap-json-mail-access-protocol-to-replace-imap-smtp-carddav-and-caldav/126214/6 "2024-05-17T09:37:43Z")

</div>

> [@Joe](#):
>
> That doesn’t necessarily mean it isn’t useful or reasonable to deploy (but, it’s still a question whether it is useful yet, as there isn’t great client support…no point in having a JMAP server if nobody connects to it).

JMAP is definitely hindered because systems with huge market shares are not supporting it (namely Roundcube and Dovecot). Time will tell but now that we have 3 servers supporting JMAP, I think it will grow.

> [@Joe](#):
>
> For web-based clients it makes a lot of sense, because the client can query the JMAP server directly

As of now, there are 3 webmail clients listed here: [https://jmap.io/software.html](https://jmap.io/software.html)

- one is a demo
- one uses JMAP for an API: [https://github.com/jmapio/jmap/pull/293](https://github.com/jmapio/jmap/pull/293)
- If there are others, please update [https://github.com/jmapio/jmap/blob/master/software/software.mdown](https://github.com/jmapio/jmap/blob/master/software/software.mdown)

So it looks like Cypht is the first/only Open Source webmail client supporting JMAP. While it’s nice to be the trailblazer, I hope many others will join the club 😊

On a related note, here is a page to _mainly_ compare all active and mature Open Source (thus self-hostable) webmail solutions that you can install and manage email from any server with standard email protocols (IMAP, SMTP, JMAP). And Virtualmin is listed for reasons explained on the page.  
[https://wikisuite.org/Webmail-and-groupware-comparison](https://wikisuite.org/Webmail-and-groupware-comparison)

---

<div class="post-metadata">

**Author:** ![RokeJulianLockhart](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/rokejulianlockhart/32/15305_2.png) [@RokeJulianLockhart](https://forum.virtualmin.com/u/RokeJulianLockhart)\
**Post date:** [June 12, 2024, 10:33pm UTC](https://forum.virtualmin.com/t/a-mail-server-that-supports-jmap-json-mail-access-protocol-to-replace-imap-smtp-carddav-and-caldav/126214/7 "2024-06-12T22:33:48Z")

</div>

> [@Joe](#):
>
> for something like Thunderbird, IMAP is already quite efficient…JMAP probably can’t beat it, it just changes the format of the communication back and forth. Newer isn’t necessarily better in this case.

Regardless, there has been steady support at [[EPIC] JMAP protocol support · Issue #3272 · thunderbird/thunderbird-android · GitHub](https://github.com/thunderbird/thunderbird-android/issues/3272#issue-307298278) and [1322991 - Add support for new JMAP protocol](https://bugzilla.mozilla.org/show_bug.cgi?id=1322991#c26) for implementation in Thunderbird and SeaMonkey.

---

<div class="post-metadata">

**Author:** ![Joe](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/joe/32/9_2.png) [@Joe](https://forum.virtualmin.com/u/Joe)\
**Post date:** [June 12, 2024, 10:50pm UTC](https://forum.virtualmin.com/t/a-mail-server-that-supports-jmap-json-mail-access-protocol-to-replace-imap-smtp-carddav-and-caldav/126214/8 "2024-06-12T22:50:09Z")

</div>

That’s not how I read those threads. To me it looks like a bunch of people say they want it, but no one wants to develop it or pay for it, so nothing has happened (and it proves people don’t _really_ want it, because if they did they’d do something about it).

I would be surprised if Thunderbird gets JMAP support within the next year, or even two, given the rate of progress and the amount of time/attention being spent on it.

If you want it urgently, I think it’s going to require you to do it or pay for it to be done.

---

<div class="post-metadata">

**Author:** ![system](https://cdn.forum.virtualmin.com/uploads/default/original/2X/c/cd96d761e326db4b2bef94886a639109bd7a8e76.svg) [@system](https://forum.virtualmin.com/u/system)\
**Post date:** [August 11, 2024, 10:50pm UTC](https://forum.virtualmin.com/t/a-mail-server-that-supports-jmap-json-mail-access-protocol-to-replace-imap-smtp-carddav-and-caldav/126214/9 "2024-08-11T22:50:09Z")

</div>

Closed on August 11, 2024, 10:50pm UTC

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
