1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
====
JMAP
====
About JMAP
==========
`JMAP <http://jmap.io/>`_ 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
=============
.. todo::
Stop duplication in this and developer-jmap by moving a chunk of this
information into /assets and include instead.
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
:ref:`JMAP developer guide <developer-jmap>` for instructions on how to do
so manually, assuming you have the source.
.. sidebar:: JMAP configuration
|change-default-config|
.. include:: /imap/reference/manpages/configs/imapd.conf.rst
:start-after: startblob conversations
:end-before: endblob conversations
|
.. include:: /imap/reference/manpages/configs/imapd.conf.rst
:start-after: startblob conversations_db
:end-before: endblob conversations_db
Once it's compiled, JMAP needs to be enabled in :cyrusman:`imapd.conf(5)`.
Enable :ref:`conversation support <imap-concepts-deployment-db-conversations>`
* In :cyrusman:`imapd.conf(5)`, set ``conversations: 1``, ``conversations_db: twoskip``
* Create a conversations.db for each user using
:cyrusman:`ctl_conversationsdb(8)`: ``ctl_conversationsdb -b -r``
JMAP clients
============
The official JMAP website maintains a list of `known clients with JMAP support
<http://jmap.io/software.html>`_.
The Cyrus :ref:`JMAP developer guide <developer-jmap>` has information on using
the sample test clients.
.. _jmap-implementation:
JMAP implementation status
==========================
The JMAP implementation in Cyrus is at various stages of maturity.
Implemented
-----------
* The core protocol (:rfc:`8620`), except for PushSubscription
* JMAP for Mail (:rfc:`8621`)
* JMAP Blob Management Extension (:rfc:`9404`)
* JMAP for Quotas (:rfc:`9425`)
* JMAP for Sieve Scripts (:rfc:`9661`)
* A JMAP Subprotocol for WebSocket (:rfc:`8887`)
In development
--------------
* JMAP for Calendars (:draft:`draft-ietf-jmap-calendars`)
* JMAP for Contacts (:draft:`draft-ietf-jmap-contacts`)
* JMAP Sharing (:draft:`draft-ietf-jmap-sharing`)
* Handling MDN with JMAP (:rfc:`9007`)
Not implemented
---------------
* JMAP for Tasks (:draft:`draft-ietf-jmap-tasks`)
* JMAP SMIME Signature Verification Extensions(:rfc:`9219`)
|