this repo has no description
1# JMAP OCaml Client 2 3An OCaml interface to the JMAP protocol ([RFC8620](https://datatracker.ietf.org/doc/html/rfc8620)) and JMAP Mail extension ([RFC8621](https://datatracker.ietf.org/doc/html/rfc8621)). 4 5**Note:** This library is largely AI-generated and has not been audited carefully. It's a proof-of-concept implementation of the JMAP specification. 6 7## Overview 8 9JMAP (JSON Meta Application Protocol) is a modern protocol for synchronizing email, calendars, and contacts designed as a replacement for legacy protocols like IMAP. This OCaml implementation provides: 10 11- Type-safe OCaml interfaces to the JMAP Core and Mail specifications 12- Authentication with username/password or API tokens (Fastmail support) 13- Convenient functions for common email and mailbox operations 14- Support for composing complex multi-part requests with result references 15- Typed handling of message flags, keywords, and mailbox attributes 16 17## Installation 18 19Add to your project with opam: 20 21``` 22opam install . 23``` 24 25## Features 26 27- **Core JMAP Protocol** 28 - Session handling 29 - API request/response management 30 - Type-safe representation of all JMAP structures 31 - Result references for composing multi-step requests 32 33- **JMAP Mail Extension** 34 - Mailbox operations (folders/labels) 35 - Email retrieval and manipulation 36 - Thread handling 37 - Identity management 38 - Email submission 39 - Message flags and keywords 40 41- **Fastmail Integration** 42 - API token authentication 43 - Example tools for listing messages 44 45## Documentation 46 47The library includes comprehensive OCamldoc documentation with cross-references to the relevant sections of the JMAP specifications. 48 49Build the documentation with: 50 51``` 52dune build @doc 53``` 54 55## Example Tools 56 57The package includes several example tools: 58 59- `fastmail-list`: Lists emails from a Fastmail account (requires JMAP_API_TOKEN) 60- `jmap-tutorial-examples`: Demonstrates basic JMAP operations as shown in the tutorial 61 62## License 63 64[MIT License](LICENSE) 65 66## References 67 68- [RFC8620: The JSON Meta Application Protocol (JMAP)](https://datatracker.ietf.org/doc/html/rfc8620) 69- [RFC8621: The JSON Meta Application Protocol (JMAP) for Mail](https://datatracker.ietf.org/doc/html/rfc8621) 70- [Message Flag and Mailbox Attribute Extension](https://datatracker.ietf.org/doc/html/draft-ietf-mailmaint-messageflag-mailboxattribute-02) 71- [Fastmail Developer Documentation](https://www.fastmail.com/dev/)