this repo has no description
OCaml 94.5%
HTML 2.2%
Dune 0.2%
Other 3.2%
52 2 1

Clone this repository

https://tangled.org/anil.recoil.org/ocaml-jmap
git@git.recoil.org:anil.recoil.org/ocaml-jmap

For self-hosted knots, clone URLs may differ based on your setup.

README.md

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