Boogie
jmapcli · JMAP fra terminalen
01.
v1.4.0 · macOS
En indbygget JMAP-kommandolinjeklient.

JMAP fra kommandolinjen.

jmapcli taler JMAP med Stalwart (og enhver JMAP-server) direkte fra din terminal — send, læs, søg, synkroniser, flyt og administrer e-mail. Indbygget Swift, loginoplysninger i macOS Keychain, ingen telemetri.

$ brew tap jasonhollis/boogie && brew install jmapcli $ jmapcli login # gemt i macOS Keychain $ jmapcli send --to you@example.com --subject "Hi" --body "From the CLI"
02.
— Section 2
Install
Homebrew

Én linje. Signeret.

2.1
Homebrew tap
brew tap jasonhollis/boogie && brew install jmapcli — en enkelt signeret binær, ingen afhængigheder at kompilere. Opgraderinger via brew upgrade.
— macOS
Apple silicon
2.2
Keychain-godkendelse
Loginoplysninger læses fra macOS login-Keychain efter JMAP-identitet. Intet i dotfiles, intet i env vars.
— security
find-generic
2.3
Ingen telemetri
Værktøjet ringer ikke hjem nogen steder. Det eneste netværk, det rører, er din JMAP-server.
— zero
SDKs
03.
— Section 3
Credentials
macOS Keychain

Din adgangskode rører aldrig disken.

jmapcli gemmer ingen hemmeligheder på disken. Din adgangskode (eller bearer-token) lever i macOS login-Nøgleringe; kontofilen — ~/.config/jmapcli/config.json, tilstand 0600 — indeholder kun server-URL'en, dit brugernavn og et standardflag. Ny til Nøglering fra terminalen? Hele arbejdsgangen er tre indbyggede security-kommandoer.

1 · Gem en hemmelighed — og læs den tilbage. macOS beder om værdien, så hemmeligheden skrives aldrig på kommandolinjen, vises ikke på skærmen eller skrives til din shell-historik.

# 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 — det navn jmapcli slår op: jmap-password for en adgangskode, eller jmap-token for et bearer-token (f.eks. Fastmail); angiv kun den, du bruger.
-a
account — din e-mailadresse (det samme brugernavn du giver jmapcli).
-l
label — hvad du vil se i appen Nøgleringsadgang; -U opdaterer et eksisterende element på stedet.
-w
uden værdi — beder om hemmeligheden. Det er dette, der holder den ude af ~/.zsh_history og proceslisten.

2 · Peg jmapcli mod din server. Registrer kontoen én gang; hemmeligheden hentes direkte fra det Nøglering-element, du netop gemte, så den aldrig vises på kommandolinjen.

$ 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
3.1
Intet i din historik, logs — eller en AIs kontekst
Når hemmeligheden er i Nøgleringen, bærer hverdagskommandoer (list, send, draft, sync) aldrig en adgangskode, så den ikke kan fanges i ~/.zsh_history, en procesoversigt eller CI-logs. Det er det, der gør jmapcli sikker at drive fra terminal-AI-værktøjer — en agent får en JMAP-klient, aldrig din hemmelighed.
— zsh
CI · agents
3.2
Roter eller log ud
Ændret din adgangskode? Kør security add-generic-password … -w-linjen igen — -U overskriver den på stedet. For at fjerne en konto sletter jmapcli logout både konfigurationsposten og Nøglering-hemmeligheden i ét trin (--all rydder alle konti).
— rotate
logout
3.3
Mac-specifik af design
Login-Nøgleringen synkroniseres ikke via iCloud — en bevidst grænse, så din adgangskode aldrig forlader den Mac, du tastede den på. Gentag security-trinnet én gang per Mac; config.json kan følge med en synkroniseret hjemmemappe, fordi den ikke indeholder nogen hemmelighed.
— per
machine
04.
— Section 4
Commands
One verb each

Alt er en underkommando.

login
Gem loginoplysninger til en JMAP-server i Keychain
discover
Find JMAP-sessionen fra serveren
accounts
Vis konfigurerede konti og alle afsender-identiteter
mailboxes
Vis alle postkasser
list
Vis e-mails i en postkasse
search
Søg i mail på tekst, emne, afsender, modtager eller indhold (serverside)
read
Vis fuldt e-mailindhold (Markdown-gengivet)
send
Send en e-mail via JMAP Submission fra enhver afsender-identitet (--from)
reply
Svar på en besked via ID, tråddelt og med citat af originalen
forward
Videresend en besked via ID, med dens vedhæftninger
draft
Gem en e-mail i Drafts uden at sende
move · trash · delete
Flyt til en postkasse, flyt til Papirkurv, eller destruer permanent via ID
sync
Udfør en delta-synkronisering og vis, hvad der er ændret
contacts
JSContact-kontakter: vis, tilføj, rediger, fjern, importér aliasser
calendar
Vis kalendere og begivenheder, opret begivenheder, sæt kalenderfarver
sieve
Vis, hent, valider og send Sieve-filtre til serveren
alias
Administrer modtageraliasser
mcp
Kør som Model Context Protocol-server til AI-værktøjer
logout
Fjern gemte loginoplysninger
05.
— Section 5
Changelog
Every release

Nyheder.

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
— En del af Boogie

Vil du have hele appen?

jmapcli er gratis
den indbyggede mail- + kalender-app er i App Store
KTP Digital Pty Ltd · ABN 85 648 755 980