this repo has no description
1# JMAP Unix Implementation
2
3This library provides Unix-specific implementation for the core JMAP protocol.
4
5## Overview
6
7Jmap_unix provides the implementation needed to make actual connections to JMAP servers
8using OCaml's Unix module. It handles:
9
10- HTTP connections to JMAP endpoints
11- Authentication
12- Session discovery
13- Request/response handling
14- Blob upload/download
15- High-level email operations (Jmap_unix.Email)
16
17## Usage
18
19```ocaml
20open Jmap
21open Jmap_unix
22
23(* Create a connection to a JMAP server *)
24let credentials = Basic("username", "password") in
25let (ctx, session) = Jmap_unix.connect ~host:"jmap.example.com" ~credentials in
26
27(* Use the connection for JMAP requests *)
28let response = Jmap_unix.request ctx request in
29
30(* Close the connection when done *)
31Jmap_unix.close ctx
32```
33
34## Email Operations
35
36The Email module provides high-level operations for working with emails:
37
38```ocaml
39open Jmap
40open Jmap.Unix
41
42(* Get an email *)
43let email = Email.get_email ctx ~account_id ~email_id ()
44
45(* Search for unread emails *)
46let filter = Jmap_email.Email_filter.unread ()
47let (ids, emails) = Email.search_emails ctx ~account_id ~filter ()
48
49(* Mark emails as read *)
50Email.mark_as_seen ctx ~account_id ~email_ids:["email1"; "email2"] ()
51
52(* Move emails to another mailbox *)
53Email.move_emails ctx ~account_id ~email_ids ~mailbox_id ()
54```
55
56## Dependencies
57
58- jmap (core library)
59- jmap-email (email types and helpers)
60- yojson
61- uri
62- unix