1==== 2JMAP 3==== 4 5About JMAP 6========== 7 8`JMAP <http://jmap.io/>`_ is an alternate mechanism for synchronising a mail 9client with a mail server, intended as a replacement for IMAP. It is a 10transport-agnostic, stateless JSON-based API, aiming to be compatible with the 11IMAP data model, but with reduced data usage and more efficient synchronisation. 12 13Configuration 14============= 15 16.. todo:: 17 18 Stop duplication in this and developer-jmap by moving a chunk of this 19 information into /assets and include instead. 20 21JMAP support needs to be compiled in to the server using additional 22compile flags. Depending on your distribution, your package provider may 23have already done so. If not, check the 24:ref:`JMAP developer guide <developer-jmap>` for instructions on how to do 25so manually, assuming you have the source. 26 27.. sidebar:: JMAP configuration 28 29 |change-default-config| 30 31 .. include:: /imap/reference/manpages/configs/imapd.conf.rst 32 :start-after: startblob conversations 33 :end-before: endblob conversations 34 35 | 36 37 .. include:: /imap/reference/manpages/configs/imapd.conf.rst 38 :start-after: startblob conversations_db 39 :end-before: endblob conversations_db 40 41Once it's compiled, JMAP needs to be enabled in :cyrusman:`imapd.conf(5)`. 42 43Enable :ref:`conversation support <imap-concepts-deployment-db-conversations>` 44 45 * In :cyrusman:`imapd.conf(5)`, set ``conversations: 1``, ``conversations_db: twoskip`` 46 * Create a conversations.db for each user using 47 :cyrusman:`ctl_conversationsdb(8)`: ``ctl_conversationsdb -b -r`` 48 49JMAP clients 50============ 51 52The official JMAP website maintains a list of `known clients with JMAP support 53<http://jmap.io/software.html>`_. 54 55The Cyrus :ref:`JMAP developer guide <developer-jmap>` has information on using 56the sample test clients. 57 58.. _jmap-implementation: 59 60JMAP implementation status 61========================== 62 63The JMAP implementation in Cyrus is at various stages of maturity. 64 65Working 66------- 67 68* **Contacts** 69 * All JMAP methods are implemented. JMAP blobs are not supported. 70 71* **Calendars** 72 * All JMAP methods are implemented. JMAP blobs are not supported. 73 74* **Messages** 75 * Most JMAP methods are implemented. The following methods are not planned for implementation: 76 77 * copyMessages 78 * reportMessages 79 * getVacationResponse 80 * setVacationResponse 81 * getIdentityUpdates 82 * setIdentities 83 84Not yet implemented 85------------------- 86 87* **Remote mailboxes** 88 89* **Events** 90 * Changes on mailbox entries trigger notifications. However, the JMAP event service is not implemented. 91