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

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

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

$ brew tap jasonhollis/boogie && brew install 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 tap jasonhollis/boogie && brew install jmapcli — ایک واحد دستخط شدہ بائنری، کمپائل کرنے کے لیے کوئی انحصار نہیں۔ اپ گریڈ بذریعہ brew upgrade۔
— 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
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.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 Pty Ltd · ABN 85 648 755 980