DEV Community

Nubo Mail
Nubo Mail

Posted on

From IMAP to JMAP: Why Modern Email Needs a Modern Protocol

From IMAP to JMAP: Why Modern Email Needs a Modern Protocol

IMAP was standardized in 1986. That is 40 years ago — before the web existed, before smartphones, before WiFi. Yet in 2026, the vast majority of email clients still speak IMAP to their servers.

JMAP (JSON Mail Access Protocol) is the IETF-standardized replacement. At Nubo.Email, we made the decision to build exclusively on JMAP, and the results speak for themselves.

What is Wrong With IMAP?

IMAP was brilliant for its era. But it has fundamental limitations that no amount of extensions can fix:

  • Connection-oriented — IMAP maintains a persistent TCP connection. Drop it (WiFi to cellular, laptop sleep), and you lose state. The client must reconnect and resynchronize.
  • Polling-based — To check for new mail, IMAP clients poll the server at intervals (typically 15-30 minutes). IDLE extensions help but are unreliable across NAT and mobile networks.
  • Bandwidth hungry — IMAP often downloads entire message headers or bodies to detect changes. On mobile networks, this drains data and battery.
  • Binary protocol — IMAP uses a custom text-based protocol that is painful to debug and does not play well with modern HTTP infrastructure (CDNs, load balancers, proxies).
  • No native threading — Thread support was bolted on via extensions, inconsistently implemented across servers and clients.

How JMAP Solves These Problems

JMAP was designed from scratch for the modern internet:

  • Stateless HTTP — Every request is independent. Network changes, device sleep, connection drops — none of these affect your email state. The server tracks state; the client just asks for changes since its last known state.
  • Push notifications — JMAP supports native push via WebSocket and EventSource. New email arrives on the server, your client knows instantly. No polling, no delays.
  • Delta sync — Instead of downloading everything, JMAP sends only what changed since the client last checked. A new email arrived? You get that one email, not a full mailbox rescan.
  • JSON over HTTPS — Standard JSON payloads over standard HTTPS. Works with every CDN, load balancer, proxy, and debugging tool. Any developer can read and understand the protocol.
  • Native threading — Thread support is a first-class concept in JMAP. Servers maintain thread relationships; clients get proper conversation views without client-side heuristics.
  • Request batching — Multiple operations in a single HTTP request. Fetch emails, update flags, and move messages — all in one round trip.

Real-World Performance

In our testing with Nubo.Email:

  • Email delivery notification: Under 1 second with JMAP push vs 15+ minutes with IMAP polling
  • Initial sync: 3-5x faster than IMAP for large mailboxes
  • Bandwidth usage: 80-90% reduction for typical email checking patterns
  • Battery impact: Significantly lower on mobile due to no polling and smaller payloads

For Developers

If you are building email integrations, JMAP is dramatically easier to work with than IMAP:

  • Standard JSON — use any HTTP library
  • Well-documented RFC (RFC 8620, RFC 8621)
  • Predictable request/response patterns
  • No connection state management
  • Built-in error handling semantics

The Nubo.Email Implementation

Our entire platform — webmail, desktop app, and mobile app — uses a single JMAP client implementation. Because JMAP is stateless HTTP, the same code works identically across web browsers and native applications.

Features like real-time notifications, conversation threading, and multi-device sync are not add-ons — they are natural consequences of building on the right protocol.

The Future of Email

JMAP adoption is accelerating. Major email servers now support it natively, and the developer community is building an ecosystem of libraries and tools around it.

If you are evaluating email infrastructure in 2026, JMAP support should be a requirement, not a nice-to-have. The protocol your email runs on determines what is possible for every feature built on top of it.

At Nubo.Email, we bet on JMAP from day one. That bet is paying off.

Top comments (0)