JMAP as the primary protocol
IMAP was designed for a world of persistent connections and small mailboxes, and its statefulness makes efficient synchronisation genuinely difficult. JMAP is a JSON-over-HTTP protocol with a proper change-tracking model: the client asks what changed since a given state string and receives exactly that. It maps cleanly onto an async Rust client, batches well, and degrades sanely on a mobile connection. IMAP support remains a compatibility layer rather than the foundation.