Boogie
jmapcli · టెర్మినల్ నుండి JMAP
01.
v1.7.3 · macOS
నేటివ్ JMAP కమాండ్-లైన్ క్లయింట్.

కమాండ్ లైన్ నుండి JMAP.

jmapcli మీ టెర్మినల్ నుండి నేరుగా Stalwartతో (మరియు ఏ JMAP సర్వర్‌తోనైనా) JMAPలో మాట్లాడుతుంది — మెయిల్ పంపండి, చదవండి, సెర్చ్ చేయండి, సింక్ చేయండి, తరలించండి, నిర్వహించండి. నేటివ్ Swift, macOS కీచైన్‌లో ఆధారాలు, టెలిమెట్రీ లేదు.

$ brew install boogie-digital/boogie/jmapcli $ jmapcli login # macOS కీచైన్‌లో నిల్వ చేయబడుతుంది $ jmapcli send --to you@example.com --subject "Hi" --body "From the CLI"
02.
— Section 2
Install
Homebrew

ఒక్క లైన్. సైన్ చేయబడింది.

2.1
Homebrew ట్యాప్
brew install boogie-digital/boogie/jmapcli — ఒకే సైన్ చేసిన బైనరీ, కంపైల్ చేయాల్సిన డిపెండెన్సీలు లేవు. అప్‌గ్రేడ్‌లు brew upgrade jmapcli ద్వారా.
— macOS
Apple silicon
2.2
కీచైన్ ప్రమాణీకరణ
ఆధారాలు JMAP గుర్తింపు ప్రకారం macOS లాగిన్ కీచైన్ నుండి చదవబడతాయి. dotfilesలో ఏమీ ఉండదు, env varsలో ఏమీ ఉండదు.
— security
find-generic
2.3
టెలిమెట్రీ లేదు
ఈ టూల్ ఎవరికీ సమాచారం పంపదు. అది తాకే ఏకైక నెట్‌వర్క్ మీ JMAP సర్వర్.
— zero
SDKs
03.
— Section 3
Credentials
macOS Keychain

మీ పాస్‌వర్డ్ ఎప్పుడూ డిస్క్‌ను తాకదు.

jmapcli డిస్క్‌పై ఏ రహస్యాన్నీ ఉంచదు. మీ పాస్‌వర్డ్ (లేదా bearer token) macOS లాగిన్ కీచైన్‌లో ఉంటుంది; ఖాతా ఫైల్ — ~/.config/jmapcli/config.json, మోడ్ 0600 — సర్వర్ URL, మీ యూజర్‌నేమ్, ఒక డిఫాల్ట్ ఫ్లాగ్‌ను మాత్రమే కలిగి ఉంటుంది. టెర్మినల్ నుండి కీచైన్‌ను ఉపయోగించడం కొత్తా? మొత్తం పని విధానం మూడు అంతర్నిర్మిత 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, లేదా bearer token కోసం 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
మీ హిస్టరీలో, లాగ్‌లలో — లేదా AI కాంటెక్స్ట్‌లో ఏమీ ఉండదు
రహస్యం కీచైన్‌లోకి చేరాక, రోజువారీ కమాండ్‌లు (list, send, draft, sync) ఎప్పుడూ పాస్‌వర్డ్‌ను మోసుకెళ్లవు, కాబట్టి అది ~/.zsh_historyలో, ప్రాసెస్ జాబితాలో లేదా CI లాగ్‌లలో పట్టుబడదు. టెర్మినల్-AI టూల్స్ నుండి jmapcliని నడపడం సురక్షితం కావడానికి కారణం అదే — ఏజెంట్‌కు JMAP క్లయింట్ అందుతుంది, మీ రహస్యం ఎప్పుడూ కాదు.
— zsh
CI · agents
3.2
మార్చండి లేదా సైన్ అవుట్ చేయండి
మీ పాస్‌వర్డ్ మార్చారా? security add-generic-password … -w లైన్‌ను మళ్లీ నడపండి — -U దాన్ని అక్కడికక్కడే ఓవర్‌రైట్ చేస్తుంది. ఖాతాను తీసివేయడానికి, jmapcli logout కాన్ఫిగ్ ఎంట్రీని, కీచైన్ రహస్యాన్ని రెండింటినీ ఒకే దశలో తొలగిస్తుంది (--all ప్రతి ఖాతాను క్లియర్ చేస్తుంది).
— rotate
logout
3.3
డిజైన్ ప్రకారం ఒక్కో Macకి వేరు
లాగిన్ కీచైన్ iCloud ద్వారా సింక్ కాదు — ఇది కావాలనే పెట్టిన సరిహద్దు, కాబట్టి మీ పాస్‌వర్డ్ మీరు టైప్ చేసిన Macను ఎప్పుడూ దాటదు. security దశను ఒక్కో Macలో ఒక్కసారి చేయండి; config.jsonలో రహస్యం ఏదీ ఉండదు కాబట్టి అది సింక్ అయ్యే హోమ్ ఫోల్డర్‌లో ఉండవచ్చు.
— per
machine
04.
— Section 4
Commands
One verb each

ప్రతిదీ ఒక సబ్‌కమాండ్.

login
JMAP సర్వర్‌కు సైన్ ఇన్ చేయండి (పాస్‌వర్డ్, టోకెన్ లేదా బ్రౌజర్ OAuth)
discover
సర్వర్ నుండి JMAP సెషన్‌ను కనుగొనండి
accounts
కాన్ఫిగర్ చేసిన ఖాతాలను, పంపగలిగే ప్రతి గుర్తింపును జాబితా చేయండి
identity
మీ ఖాతాలన్నింటిలో పంపగలిగే ప్రతి గుర్తింపును జాబితా చేయండి, ఒక గుర్తింపుకు సర్వర్ చూపించే ప్రదర్శన పేరును సెట్ చేయండి.
mailboxes
అన్ని మెయిల్‌బాక్స్‌లను జాబితా చేయండి
list
మెయిల్‌బాక్స్‌లోని ఈమెయిల్‌లను జాబితా చేయండి
search
టెక్స్ట్, విషయం, పంపినవారు, స్వీకర్త లేదా బాడీ ద్వారా మెయిల్ సెర్చ్ చేయండి (సర్వర్ వైపు)
read
పూర్తి ఈమెయిల్ కంటెంట్‌ను చూపించండి (Markdownలో రెండర్ చేయబడుతుంది)
attachments
ఈమెయిల్ అటాచ్‌మెంట్‌లను జాబితా చేయండి, లేదా వాటిని ఫోల్డర్‌లో సేవ్ చేయండి
send
JMAP Submission ద్వారా, పంపగలిగే ఏ గుర్తింపు నుండైనా ఈమెయిల్ పంపండి (--from)
reply
IDతో సందేశానికి ప్రత్యుత్తరం ఇవ్వండి, థ్రెడ్‌లో, అసలు సందేశాన్ని కోట్ చేస్తూ
forward
IDతో సందేశాన్ని ఫార్వర్డ్ చేయండి, దాని అటాచ్‌మెంట్‌లను మళ్లీ జోడిస్తూ
draft
పంపకుండా ఈమెయిల్‌ను డ్రాఫ్ట్‌లలో సిద్ధం చేయండి
move · trash · delete
IDతో మెయిల్‌బాక్స్‌లోకి తరలించండి, ట్రాష్‌కు తరలించండి, లేదా శాశ్వతంగా నాశనం చేయండి
sync
డెల్టా సింక్ చేసి ఏమి మారిందో చూపించండి
contacts
JSContact కాంటాక్ట్‌లు: జాబితా, జోడించడం, ఎడిట్, తీసివేయడం, అలియాస్‌లను ఇంపోర్ట్ చేయడం
calendar
క్యాలెండర్‌లను, ఈవెంట్‌లను జాబితా చేయండి, ఈవెంట్‌లను రాయండి, క్యాలెండర్ రంగులను సెట్ చేయండి
sieve
సర్వర్ వైపు Sieve ఫిల్టర్‌లను జాబితా చేయండి, తీసుకురండి, ధృవీకరించండి, పుష్ చేయండి
alias
స్వీకర్త అలియాస్‌లను నిర్వహించండి
mcp
AI టూలింగ్ కోసం Model Context Protocol సర్వర్‌గా నడపండి
logout
నిల్వ చేసిన ఆధారాలను తీసివేయండి
05.
— Section 5
Changelog
Every release

కొత్తవి ఏమిటి.

v1.7.3
Sign-in no longer fails with unexpectedStatus(-25244) when the Keychain already holds an item for the account that another program created: jmapcli replaces it when macOS allows, and Keychain errors now say which item and why (never the secret). jmapcli sync keeps its saved state per account and server, so with several accounts it no longer reports "Full re-sync required (state expired)" on every run. After upgrading, run jmapcli sync --initialize once per account. — 2026-11-10
v1.7.2
Help text only, no change in behaviour. login --help now says that --oauth needs an https:// server, that a plain-HTTP server works with --password or --token (include the port), and that with --oauth the --username must be the account you sign into in the browser, otherwise nothing is stored. jmapcli --help lists login as "Sign in to a JMAP server (password, token or browser OAuth)". — 2026-11-10
v1.7.1
Sign-in fixes. login --password and --token now work against a plain-HTTP JMAP server (--url http://host:port, for example a Stalwart on your LAN); 1.7.0 failed with "Invalid username or password." even when the password was right. The credential goes over plain HTTP only to the exact host and port you typed. login --oauth now stores tokens only when the server says they belong to --username, and refuses an http:// URL up front. — 2026-11-09
v1.7.0
Reply-To and display names: --reply-to sets a message's Reply-To on send, draft, reply and forward, staged drafts included, and replaces the sending identity's own Reply-To for that message. --to, --cc and --bcc now take Name <addr>, so "Jane Doe <jane@example.com>" goes out as a name and an address; a bare address is unchanged. — 2026-10-15
v1.6.0
Attachments: jmapcli attachments lists an email's attachments (index, name, type, size) and --save writes one or all of them to a folder, refusing to overwrite an existing file unless --force. The MCP server gains the same surface: mail.read now reports attachment metadata and the new mail.save_attachment tool writes one attachment to a local directory. — 2026-09-28
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 ఉచితం
నేటివ్ మెయిల్ + క్యాలెండర్ యాప్ App Storeలో ఉంది
KTP Digital Pty Ltd · ABN 85 648 755 980