Boogie
jmapcli · ٹرمینل سے JMAP
01.
v1.5.0 · macOS
کمانڈ لائن کے لیے ایک مقامی JMAP کلائنٹ۔

کمانڈ لائن سے JMAP۔

jmapcli آپ کے ٹرمینل سے براہ راست Stalwart (اور کسی بھی JMAP سرور) سے JMAP میں بات کرتا ہے — ای میل بھیجیں، پڑھیں، تلاش کریں، ہم وقت کریں، منتقل کریں اور منظم کریں۔ مقامی Swift، macOS کے Keychain میں اسناد، کوئی ٹیلی میٹری نہیں۔

$ brew install boogie-digital/boogie/jmapcli $ jmapcli login # macOS کے Keychain میں محفوظ $ 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 تصدیق
اسناد JMAP شناخت کے مطابق macOS کے لاگ ان Keychain سے پڑھی جاتی ہیں۔ dotfiles میں کچھ نہیں، env vars میں کچھ نہیں۔
— security
find-generic
2.3
کوئی ٹیلی میٹری نہیں
یہ ٹول کہیں رابطہ نہیں کرتا۔ واحد نیٹ ورک جس سے یہ جڑتا ہے وہ آپ کا JMAP سرور ہے۔
— zero
SDKs
03.
— Section 3
Credentials
macOS Keychain

آپ کا پاس ورڈ کبھی ڈسک کو نہیں چھوتا۔

jmapcli کوئی راز ڈسک پر محفوظ نہیں کرتا۔ آپ کا پاس ورڈ (یا بیئرر ٹوکن) macOS کے لاگ ان Keychain میں رہتا ہے؛ اکاؤنٹ فائل — ~/.config/jmapcli/config.json، موڈ 0600 — میں صرف سرور URL، آپ کا یوزرنیم اور ایک ڈیفالٹ فلیگ ہوتا ہے۔ ٹرمینل سے Keychain استعمال کرنے میں نئے ہیں؟ پورا ورک فلو صرف تین بلٹ‌ان 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 کو اپنے سرور کی طرف ہدایت دیں۔ اکاؤنٹ ایک بار رجسٹر کریں؛ راز براہ راست اس Keychain آئٹم سے لیا جاتا ہے جو آپ نے ابھی محفوظ کی، اس لیے یہ کبھی کمانڈ لائن پر ظاہر نہیں ہوتا۔

$ 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 کے کانٹیکسٹ میں کچھ نہیں
ایک بار جب راز Keychain میں آ جائے، روزمرہ کی کمانڈز (list، send، draft، sync) کبھی پاس ورڈ نہیں لے جاتیں، اس لیے یہ ~/.zsh_history، پروسیس لسٹنگ یا CI لاگز میں قید نہیں ہو سکتا۔ یہی وجہ ہے کہ jmapcli کو ٹرمینل‌AI ٹولز سے چلانا محفوظ ہے — ایک ایجنٹ کو JMAP کلائنٹ دیا جاتا ہے، آپ کا راز کبھی نہیں۔
— zsh
CI · agents
3.2
پاس ورڈ بدلیں یا لاگ آؤٹ کریں
پاس ورڈ تبدیل کر لیا؟ security add-generic-password … -w لائن دوبارہ چلائیں — -U اسے جگہ پر اوور‌رائٹ کر دیتا ہے۔ کوئی اکاؤنٹ ہٹانے کے لیے، jmapcli logout ایک قدم میں کنفگ انٹری اور Keychain راز دونوں کو حذف کر دیتا ہے (--all ہر اکاؤنٹ صاف کر دیتا ہے)۔
— rotate
logout
3.3
ڈیزائن کے مطابق فی‌Mac
لاگ ان Keychain iCloud کے ذریعے سنک نہیں ہوتی — یہ ایک سوچی سمجھی حد ہے، تاکہ آپ کا پاس ورڈ اس Mac کو کبھی نہ چھوڑے جس پر آپ نے ٹائپ کیا تھا۔ ہر Mac پر ایک بار security قدم دہرائیں؛ config.json سنک شدہ ہوم فولڈر میں رہ سکتا ہے کیونکہ اس میں کوئی راز نہیں ہوتا۔
— per
machine
04.
— Section 4
Commands
One verb each

ہر چیز ایک ذیلی کمانڈ ہے۔

login
Keychain میں JMAP سرور کی اسناد محفوظ کریں
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
AI ٹولنگ کے لیے Model Context Protocol سرور کے طور پر چلائیں
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