ocaml-jmap - JMAP Protocol Implementation for OCaml#
A complete implementation of the JSON Meta Application Protocol (JMAP) as specified in RFC 8620 (core) and RFC 8621 (mail).
Packages#
- jmap - Core JMAP protocol types and serialization
- jmap-eio - JMAP client using Eio for async I/O
- jmap-brr - JMAP client for browsers using js_of_ocaml
Key Features#
- Full RFC 8620 (JMAP Core) support: sessions, accounts, method calls, and error handling
- Full RFC 8621 (JMAP Mail) support: mailboxes, emails, threads, identities, and submissions
- Type-safe API with comprehensive type definitions
- Multiple backends: Eio for native async, Brr for browser-based clients
- JSON serialization via jsont
Usage#
(* Query emails from a mailbox *)
open Jmap
let query_emails ~client ~account_id ~mailbox_id =
let filter = Email.Query.Filter.(in_mailbox mailbox_id) in
let query = Email.Query.make ~account_id ~filter () in
Client.call client query
Installation#
opam install jmap jmap-eio
For browser-based applications:
opam install jmap jmap-brr
Documentation#
API documentation is available via:
opam install jmap
odig doc jmap
License#
ISC