Boogie
jmapcli · JMAP ܡܢ ܛܪܡܝܢܠ
01.
v1.5.0 · macOS
ܠܩܘܚܐ ܐܬܪܢܝܐ ܕ JMAP ܠܫܛܪ ܦܘܩܕܢܐ.

JMAP ܡܢ ܫܛܪܐ ܕܦܘܩܕܢܐ.

jmapcli ܡܡܠܠ JMAP ܥܡ Stalwart (ܘܟܠ ܫܪܬܐ ܕ JMAP) ܬܪܝܨܐܝܬ ܡܢ ܛܪܡܝܢܠ ܕܝܠܟ — ܫܕܪ، ܩܪܝ، ܒܥܝ، ܠܘܐܡ، ܫܢܝ ܘܕܒܪ ܒܝܬ ܐܓܪܬܐ. Swift ܐܬܪܢܝܐ، ܛܟܣ̈ܐ ܕܡܥܠܢܘܬܐ ܒ Keychain ܕ macOS، ܕܠܐ ܬܠܡܛܪܝܐ.

$ brew install boogie-digital/boogie/jmapcli $ jmapcli login # ܣܝܡܐ ܒ Keychain ܕ macOS $ jmapcli send --to you@example.com --subject "Hi" --body "From the CLI"
02.
— Section 2
Install
Homebrew

ܚܕ ܫܛܪܐ. ܚܬܝܡܐ.

2.1
Homebrew tap
brew install boogie-digital/boogie/jmapcli — ܚܕ ܒܝܢܪܝ ܚܬܝܡܐ، ܕܠܐ ܬܘܟܠܢܐ ܠܡܬܪܓܡܘ. ܚܘܕ̈ܬܐ ܒܝܕ brew upgrade jmapcli.
— macOS
Apple silicon
2.2
ܫܪܪܐ ܕ Keychain
ܛܟܣ̈ܐ ܕܡܥܠܢܘܬܐ ܡܬܩܪܝܢ ܡܢ Keychain ܕܡܥܠܢܘܬܐ ܕ macOS ܠܦܘܬ ܗܘܝܘܬܐ ܕ JMAP. ܠܐ ܡܕܡ ܒ dotfiles، ܠܐ ܡܕܡ ܒ env vars.
— security
find-generic
2.3
ܕܠܐ ܬܠܡܛܪܝܐ
ܗܕܐ ܡܐܢܐ ܠܐ ܩܪܐ ܠܐܢܫ. ܫܒܟܬܐ ܝܚܝܕܝܬܐ ܕܩܪܒ ܠܗ ܗܝ ܫܪܬܐ ܕ JMAP ܕܝܠܟ.
— zero
SDKs
03.
— Section 3
Credentials
macOS Keychain

ܡܶܠܬܳܟ ܠܳܐ ܬܳܐܙܰܠ ܠܟܽܬܳܒܳܐ.

jmapcli ܠܳܐ ܢܳܛܰܪ ܪܳܙܳܐ ܥܰܠ ܟܽܬܳܒܳܐ. ܡܶܠܬܳܟ (ܐܰܘ ܐܳܬܳܐ ܕܒܳܐܶܪܰܪ) ܥܳܡܪܳܐ ܒܡܰܓܢܳܢܳܐ ܕܰܥܠܳܠܬܳܐ ܕ‌macOS; ܡܶܟܬܒܳܐ ܕܚܶܫܒܽܘܢܳܐ — ~/.config/jmapcli/config.json, ܫܽܘܠܛܳܢ 0600 — ܢܳܛܰܪ ܒܰܠܚܽܘܕ ܐܽܘܪܚܳܐ ܕܫܳܪܽܘܬܳܐ, ܫܶܡ ܡܶܫܬܰܡܫܳܢܳܟ ܘܥܶܠܡܳܐ ܕܡܶܨܛܰܢܥܳܢܳܐ. ܚܰܕܬܳܐ ܐܰܢܬ ܠܡܰܓܢܳܢܳܐ ܡܶܢ ܡܰܦܬܚܳܐ? ܟܽܠ ܥܒܳܕܳܐ ܬܠܳܬܳܐ ܦܽܘܩܕܳܢ̈ܐ ܕ‌security ܒܢܰܝܳܐ ܗܽܘ.

1 · ܛܰܡܰܪ ܪܳܙܳܐ — ܘܩܪܺܝܗܝ ܬܽܘܒ. macOS ܫܳܐܶܠ ܠܚܰܝܠܳܐ, ܐܳܦ ܗܳܟܰܢ ܪܳܙܳܐ ܠܳܐ ܡܶܬܕܰܡܰܪ ܒܫܳܪܫܳܐ ܕܦܽܘܩܕܳܢܳܐ, ܠܳܐ ܡܶܬܚܰܙܐ ܥܰܠ ܦܰܪܨܽܘܦܳܐ, ܘܠܳܐ ܡܶܬܟܬܰܒ ܒܬܰܫܥܺܝܬܳܐ ܕܟܰܠܩܽܘܠܳܟ.

# store it — you’re prompted for the secret, nothing echoes $ security add-generic-password -U -s jmap-password -a you@example.com -l "Boogie JMAP password" -w # read it back at any time $ security find-generic-password -s jmap-password -a you@example.com -w # remove it $ security delete-generic-password -s jmap-password -a you@example.com
-s
service — ܫܶܡ ܕ‌jmapcli ܒܳܥܶܐ: jmap-password ܠܡܶܠܬܳܐ, ܐܰܘ jmap-token ܠܐܳܬܳܐ ܕܒܳܐܶܪܰܪ (ܐܰܝܟ Fastmail); ܦܪܽܘܫ ܒܰܠܚܽܘܕ ܗܰܘ ܕܡܶܫܬܰܡܫܰܬ ܒܶܗ.
-a
account — ܐܶܓܰܪܬܳܐ ܕܒܰܪܺܝܕ ܕܺܝܠܳܟ (ܗܰܘ ܫܶܡ ܡܶܫܬܰܡܫܳܢܳܐ ܕܝܳܗܶܒ ܐܰܢܬ ܠ‌jmapcli).
-l
label — ܡܳܐ ܕܚܳܙܶܐ ܐܰܢܬ ܒܝܽܘܩܢܳܐ ܕ‌Keychain Access; -U ܡܚܰܕܶܬ ܒܽܘܫܳܐ ܕܰܡܢܳܩܰܕ ܩܰܝܳܡ.
-w
ܕܠܳܐ ܚܰܝܠܳܐ — ܫܳܐܶܠ ܪܳܙܳܐ. ܗܳܢܳܐ ܗܽܘ ܡܶܕܶܡ ܕܢܳܛܰܪ ܠܶܗ ܡܶܢ ~/.zsh_history ܘܡܶܢ ܡܶܢܝܳܢܳܐ ܕܦܽܘܠܚܳܢ̈ܐ.

2 · ܐܰܫܳܪ ܠ‌jmapcli ܥܰܠ ܫܳܪܽܘܬܳܟ. ܦܰܓܶܥ ܒܚܶܫܒܽܘܢܳܐ ܚܰܕ ܙܰܒܢܳܐ; ܪܳܙܳܐ ܡܶܬܡܰܫܰܟ ܦܰܐܠܚܳܝܬ ܡܶܢ ܒܽܘܫܳܐ ܕܡܰܓܢܳܢܳܐ ܕܦܰܩܕܰܬ, ܘܠܳܐ ܡܶܬܚܰܙܐ ܡܕܰܡ ܒܫܳܪܫܳܐ ܕܦܽܘܩܕܳܢܳܐ.

$ jmapcli login --url https://mail.example.com --username you@example.com \ --password "$(security find-generic-password -s jmap-password -a you@example.com -w)" # token auth: swap --password for --token (and store under jmap-token above) $ jmapcli list # from here on, every command reads the Keychain for you
# OAuth — no app password to create, copy, or rotate. # Your browser opens once; the token lands in the Keychain under jmap-oauth. $ jmapcli login --url https://api.fastmail.com --username you@fastmail.com --oauth # Stalwart — or any server that speaks RFC 8252 — same flag. $ jmapcli login --url https://mail.example.com --username you@example.com --oauth
3.1
ܡܶܕܶܡ ܠܳܐ ܒܬܰܫܥܺܝܬܳܐ, ܒܦܶܠܓ̈ܳܐ — ܐܳܦ ܠܳܐ ܒܟܳܘܢܳܐ ܕܝܳܕܽܘܥܬܳܐ
ܡܳܐ ܕܪܳܙܳܐ ܒܡܰܓܢܳܢܳܐ ܗܽܘ, ܦܽܘܩܕܳܢ̈ܐ ܝܰܘܡܳܝ̈ܐ (list, send, draft, sync) ܠܳܐ ܛܳܥܢܺܝܢ ܡܶܠܬܳܐ, ܐܳܦ ܗܳܟܰܢ ܠܳܐ ܡܶܫܬܰܒܶܝܐ ܒ‌~/.zsh_history, ܒܡܶܢܝܳܢܳܐ ܕܦܽܘܠܚܳܢ̈ܐ ܐܰܘ ܒܦܶܠܓ̈ܳܐ ܕ‌CI. ܗܳܢܳܐ ܗܽܘ ܡܶܕܶܡ ܕܦܳܐܶܫ ܒܶܗ jmapcli ܒܳܛܰܝܠܳܐ ܒܡܰܦܬܚܳܐ ܕܝܳܕܽܘܥܬܳܐ — ܨܰܝܳܕܳܐ ܢܳܣܶܒ ܡܨܰܡܶܐ ܕ‌JMAP, ܠܳܐ ܪܳܙܳܟ.
— zsh
CI · agents
3.2
ܚܰܠܶܦ ܐܰܘ ܦܽܘܩ
ܫܰܚܠܶܦܬ ܡܶܠܬܳܟ? ܐܰܗܦܶܟ ܪܺܝܨܳܐ ܕ‌security add-generic-password … -w-U ܟܳܬܶܒ ܥܰܠ ܕܰܡܢܳܩܰܕ ܩܰܝܳܡ. ܠܡܶܫܩܰܠ ܚܶܫܒܽܘܢܳܐ, jmapcli logout ܡܳܚܶܐ ܠܘܳܬ ܬܰܪܬܰܝܗܶܝܢ ܡܶܟܬܒܳܐ ܕܚܶܫܒܽܘܢܳܐ ܘܪܳܙܳܐ ܕܡܰܓܢܳܢܳܐ ܒܚܰܕ ܣܳܗܕܳܐ (--all ܡܰܟܶܐ ܟܽܠ ܚܶܫܒܽܘܢ̈ܐ).
— rotate
logout
3.3
ܠܟܽܠ ܡܰܟ̈ܝܢܬܳܐ ܡܶܢ ܬܽܘܩܳܢܳܐ
ܡܰܓܢܳܢܳܐ ܕܰܥܠܳܠܬܳܐ ܠܳܐ ܡܶܬܒܰܝܰܢ ܒ‌iCloud — ܬܽܘܚܡܳܐ ܕܥܶܠ ܒܽܘܠܗܳܙܳܐ, ܐܳܦ ܡܶܠܬܳܟ ܠܳܐ ܢܳܦܩܳܐ ܡܶܢ ܡܰܟ̈ܝܢܬܳܐ ܕܟܬܰܒܬ ܥܠܶܝܗ̱. ܐܰܟܪܰܪ ܣܳܗܕܳܐ ܕ‌security ܚܰܕ ܙܰܒܢܳܐ ܠܟܽܠ ܡܰܟ̈ܝܢܬܳܐ; config.json ܡܶܫܟܰܚ ܪܳܗܶܛ ܒܓܰܘ ܟܰܣܳܐ ܡܙܰܘܓܳܐ ܡܶܛܽܠ ܕܠܳܐ ܢܳܛܰܪ ܪܳܙܳܐ.
— per
machine
04.
— Section 4
Commands
One verb each

ܟܠ ܡܕܡ ܗܘ ܦܘܩܕܢܐ ܬܚܬܝܐ.

login
ܣܝܡ ܛܟܣ̈ܐ ܕܡܥܠܢܘܬܐ ܕܫܪܬܐ ܕ JMAP ܒ Keychain
discover
ܓܠܝ ܡܘܬܒܐ ܕ JMAP ܡܢ ܫܪܬܐ
accounts
ܡܢܝ ܚܘܫ̈ܒܢܐ ܡܛܟ̈ܣܐ ܘܟܠ ܗܘܝܘܬܐ ܕܡܫܬܕܪܢܝܬܐ
mailboxes
ܡܢܝ ܟܠ ܩܘܦܣ̈ܐ ܕܐܓܪܬܐ
list
ܡܢܝ ܐܓܪ̈ܬܐ ܒܩܘܦܣܐ ܕܐܓܪܬܐ
search
ܒܥܝ ܐܓܪ̈ܬܐ ܒܡܠܬܐ، ܒܪܝܫܐ، ܡܢ ܡܫܕܪܢܐ، ܠܡܩܒܠܢܐ، ܐܘ ܒܓܘܫܡܐ (ܒܡܫܡܫܢܐ)
read
ܚܘܐ ܟܠܗ ܡܠܘܐܐ ܕܐܓܪܬܐ (ܡܨܘܪ ܒ Markdown)
send
ܫܕܪ ܐܓܪܬܐ ܒܝܕ JMAP Submission، ܡܢ ܟܠ ܗܘܝܘܬܐ ܕܡܫܬܕܪܢܝܬܐ (--from)
reply
ܦܢܝ ܥܠ ܐܓܪܬܐ ܒܝܕ ID، ܡܫܘܙܠܬܐ ܘܡܡܠܠܬ ܩܕܡܝܬܐ
forward
ܫܕܪ ܐܓܪܬܐ ܠܐܚܪܢܐ ܒܝܕ ID، ܥܡ ܬܘܠܒ̈ܝܗ̇
draft
ܛܝܒ ܐܓܪܬܐ ܒܛܘܝܒܐ Drafts ܕܠܐ ܫܘܕܪܐ
move · trash · delete
ܫܢܝ ܠܩܘܦܣܐ ܕܐܓܪܬܐ، ܫܢܝ ܠܙܒܠܐ، ܐܘ ܚܒܠ ܠܥܠܡ ܠܦܘܬ ID
sync
ܥܒܕ ܠܘܐܡܐ ܕܕܠܬܐ ܘܚܘܐ ܡܕܡ ܕܐܫܬܚܠܦ
contacts
ܡܚܒܪ̈ܢܐ ܕ JSContact: ܡܢܝ، ܐܘܣܦ، ܫܚܠܦ، ܫܩܘܠ، ܘܥܠ ܟܘ̈ܢܝܐ
calendar
ܡܢܝ ܣܘܪ̈ܓܕܐ ܘܓܕ̈ܫܐ، ܟܬܘܒ ܓܕ̈ܫܐ، ܘܣܝܡ ܓܘ̈ܢܐ ܕܣܘܪܓܕܐ
sieve
ܡܢܝ، ܛܥܢ، ܒܚܘܪ ܘܫܕܪ ܡܨܦ̈ܝܢܐ ܕ Sieve ܕܡܫܡܫܢܐ
alias
ܕܒܪ ܫܡܗ̈ܐ ܡܫܚܠܦܐ ܕܡܩܒܠܢܐ
mcp
ܦܠܘܚ ܐܝܟ ܫܪܬܐ ܕ Model Context Protocol ܠܡܐܢ̈ܐ ܕ AI
logout
ܫܩܘܠ ܛܟܣ̈ܐ ܕܡܥܠܢܘܬܐ ܣܝܡ̈ܐ
05.
— Section 5
Changelog
Every release

ܡܢܐ ܚܕܬܐ.

v1.5.0
OAuth login: jmapcli login --oauth is a first-class alternative to --password and --token, using loopback PKCE (RFC 8252) and dynamic client registration (RFC 7591). The token is held in the macOS Keychain under jmap-oauth. Verified against Fastmail and Stalwart; app-password and token login are unchanged. — 2026-09-01
v1.4.6
identity list (id, display name, email) and identity set --name to write the server Identity display name. Role aliases no longer have to be renamed via raw Identity/set. — 2026-08-24
v1.4.5
JMAP core from Boogie 1.4.5: Stalwart aliases now appear as send-as identities (accounts identities and send --from); send, contacts, and calendar library fixes from the 1.4.5 cycle. — 2026-08-24
v1.4.0
Full-text search (text, subject, from, to, body); threaded reply and forward; draft — stage in Drafts without sending; multi-account: accounts and identities, and send/reply/forward as any sendable identity via --from; contacts import-aliases; faster multi-recipient sends. — 2026-06-24
v1.3.1
Calendar event write (add, edit, remove); offline-first hardening. — 2026-06-20
v1.3.0
JSContact contacts — read and write, with a lossless round-trip. — 2026-06-15
v1.2.0
Sieve filters — list, get, validate, and push server-side mail rules. — 2026-06-12
v1.1.0
Calendar — list calendars and events, set colours. — 2026-06-11
v1.0.0
Initial release — send, read, search, sync, and triage mail from the terminal, credentials in the macOS Keychain. — 2026-06-06
— ܡܢܬܐ ܕ Boogie

ܒܥܐ ܐܢܬ ܡܦܠܚܢܘܬܐ ܡܫܡܠܝܬܐ؟

jmapcli ܡܓܢ ܗܘ
ܡܦܠܚܢܘܬܐ ܐܬܪܢܝܬܐ ܕ Mail + Calendar ܫܟܝܚܐ ܒ App Store
KTP Digital · ABN 86 550 857 494