JMAP **** About JMAP ========== JMAP is an alternate mechanism for synchronising a mail client with a mail server, intended as a replacement for IMAP. It is a transport- agnostic, stateless JSON-based API, aiming to be compatible with the IMAP data model, but with reduced data usage and more efficient synchronisation. Configuration ============= JMAP support needs to be compiled in to the server using additional compile flags. Depending on your distribution, your package provider may have already done so. If not, check the JMAP developer guide for instructions on how to do so manually, assuming you have the source. JMAP configuration ^^^^^^^^^^^^^^^^^^ *This shows the default value: change it in imapd.conf to suit your needs.* "conversations:" 0 Enable the XCONVERSATIONS extensions. Extract conversation tracking information from incoming messages and track them in per-user databases. "conversations_db:" skiplist The cyrusdb backend to use for the per-user conversations database. Allowed values: *skiplist*, *sql*, *twoskip*, *zeroskip* Once it's compiled, JMAP needs to be enabled in imapd.conf(5). Enable conversation support * In imapd.conf(5), set "conversations: 1", "conversations_db: twoskip" * Create a conversations.db for each user using ctl_conversationsdb(8): "ctl_conversationsdb -b -r" JMAP clients ============ The official JMAP website maintains a list of known clients with JMAP support. The Cyrus JMAP developer guide has information on using the sample test clients. JMAP implementation status ========================== The JMAP implementation in Cyrus is at various stages of maturity. Implemented ----------- * The core protocol (**RFC 8620**), except for PushSubscription * JMAP Mail (**RFC 8621**) * A JMAP Subprotocol for WebSocket (**RFC 8887**) In development -------------- * JMAP Calendars (draft-ietf-jmap-calendars) * JMAP Sharing (draft-ietf-jmap-sharing) * JMAP Blobs (draft-ietf-jmap-blob) * JMAP Sieve (draft-ietf-jmap-sieve) * JMAP Contacts (draft-ietf-jmap-jscontact) * JMAP MDN (**RFC 9007**) Not implemented --------------- * JMAP Tasks (draft-ietf-jmap-tasks) * JMAP SMIME (draft-ietf-jmap-smime)