दस्तावेज़ पर जाएँ
CLI

मेल

किसी भी बॉडी और अटैचमेंट के साथ भेजें, मेलबॉक्स पढ़ें और खोजें, जवाब दें, थ्रेड व्यवस्थित करें, और डिस्पोज़ेबल इनबॉक्स इस्तेमाल करें।

भेजें

टर्मिनल
openemail send --to [email protected] --subject "Lunch?" --text "Thursday at noon works for me."

बॉडी इनमें से पहले मौजूद स्रोत से आती है:

  1. --text और --html, दोनों भाग चाहिए तो दोनों साथ।
  2. --body-file <path>। .html या .htm फ़ाइल HTML के रूप में और बाक़ी सब टेक्स्ट के रूप में भेजा जाता है, और - stdin पढ़ता है।
  3. stdin पर जो भी आए। HTML टैग से शुरू होने वाला इनपुट HTML के रूप में भेजा जाता है।
  4. आपका एडिटर ($VISUAL, फिर $EDITOR), जब आप इसे टर्मिनल में चलाते हैं।

--from के बिना, CLI उस एकमात्र पते से भेजती है जिससे आप भेज सकते हैं, या टर्मिनल में आपको एक चुनने देती है। बिना निगरानी के और एक से ज़्यादा पते होने पर यह रुकती है और --from माँगती है। टर्मिनल में आप एक सारांश देखते हैं और कुछ भी जाने से पहले पुष्टि करते हैं, जिसे --yes छोड़ देता है।

फ़्लैगयह क्या करता है
--to, --cc, --bccप्राप्तकर्ता, कॉमा से अलग या दोहराए हुए। Ada Lovelace <[email protected]> भी काम करता है
--from, --reply-toभेजने वाला पता, और Reply-To हेडर
-s, --subjectविषय पंक्ति
-a, --attach <path>एक फ़ाइल अटैच करें। और के लिए दोहराएँ
--at <when>बाद में भेजें: 2026-10-01T09:00:00Z जैसा ISO समय, या 10m, 2h, 1d या PT1H जैसी देरी
--undo <seconds>तुरंत भेजे जाने वाले ईमेल को 900 सेकंड तक रोकें, ताकि उसे अब भी रद्द किया जा सके
--translate <language>जाने से पहले ईमेल का इस भाषा में अनुवाद करें
--template <id>, --props <json>बॉडी की जगह सहेजा गया टेम्पलेट उसके props के साथ भेजें
--draft <id>सहेजा गया ड्राफ़्ट ठीक वैसा ही भेजें जैसा लिखा गया था
--thread <id>भेजे गए ईमेल को इस थ्रेड में रखें
--tag <key=value>ईमेल को टैग करें। और के लिए दोहराएँ
--idempotency-key <key>उसी कुंजी के साथ कमांड दोबारा चलाने पर कभी दो बार नहीं भेजा जाता
और भेजना
cat report.md | openemail send --to [email protected] --subject "Weekly report" --attach chart.pngopenemail send --to [email protected] --subject "Invoice" --body-file invoice.html --translate de --at 2hopenemail send --to [email protected] --template welcome --props '{"name":"Ada"}' --tag campaign=onboarding

यह ईमेल ID और उसकी स्थिति प्रिंट करती है। sent, partial और failed का मतलब है भेजने की कोशिश रिक्वेस्ट के भीतर हुई, और queued और scheduled का मतलब है कि वह रोका गया है। failed वाला भेजना कोड 1 के साथ बाहर निकलता है, और --json पूरा ईमेल प्रिंट करता है।

हर भेजने में एक आइडेम्पोटेंसी कुंजी होती है, आपकी या CLI की बनाई हुई, इसलिए कनेक्शन टूटने के बाद दोबारा कोशिश संदेश को कभी दो बार नहीं भेजती। जब कोई पाइपलाइन वही चरण फिर से चला सकती हो, तो अपनी कुंजी दें।

Attachments

--attach अधिकतम 20 फ़ाइलें लेता है। जब तक उनका कुल आकार 5 MB या कम हो, वे संदेश के अंदर जाती हैं। ज़्यादा होने पर हर फ़ाइल पहले Files में अपलोड होती है और संदेश उसका हवाला देता है, इसलिए बड़ी फ़ाइल के लिए कोई अतिरिक्त चरण नहीं चाहिए। कंटेंट टाइप फ़ाइल एक्सटेंशन से आता है।

इनबॉक्स

टर्मिनल
openemail inboxopenemail inbox --unread --limit 50openemail inbox archive --sort oldestopenemail inbox --all --json | jq -r ".items[].id"

थ्रेड का एक पेज दिखाता है, नवीनतम पहले, इस जानकारी के साथ कि हर एक आख़िरी बार कब हिला, आख़िरी बार किसने लिखा, विषय, लेबल और थ्रेड ID। बिंदु अनपढ़े मेल को चिह्नित करता है। फ़ोल्डर इनबॉक्स है जब तक आप कोई और न बताएँ: sent, archive, starred, snoozed, spam, trash, draft, या USER_RECEIPTS जैसा लेबल ID।

  • -u, --unread अनपढ़े मेल वाले थ्रेड रखता है, -l, --label किसी लेबल वाले थ्रेड, और -q, --query खोज से सूची को सीमित करता है।
  • -n, --limit पेज का आकार 1 से 100 तक तय करता है (कुछ न कहें तो 25)। जब और बचे हों, तो अगला कर्सर --cursor के लिए stderr पर प्रिंट होता है, और --all हर पेज पढ़ता है।
  • --from-contacts वे थ्रेड रखता है जिनका नवीनतम संदेश किसी सहेजे संपर्क से आया, और --sort उन्हें newest, oldest, sender या subject के हिसाब से क्रम देता है।
  • --json हर थ्रेड पूरा रखते हुए { items, hasMore, nextCursor } प्रिंट करता है।

थ्रेड पढ़ें

टर्मिनल
openemail read CAHk7pQ2x9LmZ4openemail read CAHk7pQ2x9LmZ4 --message -1openemail read CAHk7pQ2x9LmZ4 --html --message 1 > first.html

थ्रेड का हर संदेश प्रिंट करता है, सबसे पुराना पहले: किसने किसे भेजा, कब, विषय, आकार और ID के साथ अटैचमेंट, और बॉडी। सादा टेक्स्ट भाग जैसा है वैसा दिखता है, और सिर्फ़ HTML वाला संदेश पढ़ने लायक़ टेक्स्ट में बदला जाता है जो उसकी सूचियाँ, उद्धरण, शीर्षक और लिंक रखता है। पढ़ने से थ्रेड पढ़ा हुआ चिह्नित हो जाता है, जब तक आप --no-mark-read न दें।

  • -m, --message <n> एक संदेश दिखाता है, 1 से गिनते हुए, या ऋणात्मक संख्या से नवीनतम से।
  • --html इसकी जगह कच्चा HTML प्रिंट करता है।
  • एन्क्रिप्टेड संदेश यहाँ डिक्रिप्ट नहीं होता, इसलिए उसे वेब ऐप में खोलें।

जवाब

टर्मिनल
openemail reply CAHk7pQ2x9LmZ4 --text "Thanks, that works for me."openemail reply CAHk7pQ2x9LmZ4 --all --attach notes.pdfecho "Confirmed." | openemail reply CAHk7pQ2x9LmZ4 --yes

उसी थ्रेड में, आख़िरी संदेश भेजने वाले को या उसके Reply-To पते को जवाब देता है। जब आख़िरी संदेश आपका हो, तो जवाब उन लोगों को जाता है जिन्हें वह गया था। --all उस संदेश के बाक़ी सब लोगों को कॉपी में रखता है, आपके अपने पतों को छोड़कर। विषय में Re: जुड़ता है अगर पहले से न हो, और जवाब उस पते से जाता है जिस पर थ्रेड डिलीवर हुआ था, अगर आप उससे भेज सकते हैं।

यह send के बॉडी, अटैचमेंट, शेड्यूलिंग, अनुवाद, टैग और आइडेम्पोटेंसी फ़्लैग, --from और --subject के साथ लेता है, और --to, --cc और --bcc प्राप्तकर्ताओं को बदल देते हैं।

थ्रेड व्यवस्थित करें

कमांडयह क्या करता है
archive <thread-id...>इनबॉक्स से बाहर, फिर भी खोजा जा सकता है
unarchive <thread-id...>वापस इनबॉक्स में
trash <thread-id...>बिन में। पुष्टि माँगता है, क्योंकि कोई कॉल थ्रेड को वहाँ से वापस नहीं निकालती
star, unstarस्टार लगाएँ या हटाएँ
mark read, mark unreadथ्रेड को पढ़ा या अनपढ़ा चिह्नित करें
snooze <thread-id...> --until <when>थ्रेड को किसी समय तक, या 3h या 1w जैसी अवधि के लिए छिपाएँ। वे उस समय के लगभग एक घंटे के भीतर लौट आते हैं
unsnoozeस्नूज़ किए थ्रेड अभी वापस लाएँ
label add, remove --label <id>थ्रेड पर लेबल लगाएँ या हटाएँ। openemail labels list ID दिखाता है

हर एक कई थ्रेड ID लेता है और हर एक की रिपोर्ट देता है। पहली विफलता एग्ज़िट कोड तय करती है, और --json { results, succeeded, failed } प्रिंट करता है। खोज से मिले ID सीधे जोड़े जा सकते हैं:

टर्मिनल
openemail inbox --query "newer_than:30d from:alerts" --json | jq -r ".items[].id" | xargs openemail archive

डिस्पोज़ेबल इनबॉक्स

openemail temp कम समय वाले ऐसे पते बनाता है जिन्हें न अकाउंट चाहिए न साइन-इन, जो साइन-अप टेस्ट और एक बार के कोड के लिए ठीक हैं। हर इनबॉक्स टोकन ~/.openemail/temp-mail.json में रखा जाता है, इसलिए बाद की कमांड इनबॉक्स को उसके ID या पते से ढूँढ लेती हैं, या अपने आप जब आपके पास एक ही हो।

टर्मिनल
ADDRESS=$(openemail temp new --ttl 15)openemail temp watch --first --json | jq -r .snippetopenemail temp listopenemail temp readopenemail temp read tinb_4f2a tmail_91c3openemail temp delete --yes
  • temp new stdout पर सिर्फ़ पता प्रिंट करता है। यह 60 मिनट जीवित रहता है जब तक --ttl कुछ और न कहे, अधिकतम 24 घंटे, और --name और --domain पता चुनते हैं।
  • temp watch जो आ चुका है उसे प्रिंट करता है, फिर हर 3 सेकंड में जाँचता है जब तक आप रोकें नहीं या इनबॉक्स की अवधि ख़त्म न हो। --first पहले संदेश पर रुकता है, और --json हर संदेश के लिए एक JSON लाइन प्रिंट करता है।
  • temp read संदेशों को छोटे प्रीव्यू के साथ दिखाता है, या एक पूरा संदेश प्रिंट करता है।
  • temp delete इनबॉक्स और उसका मेल तुरंत हटा देता है। पता उसकी लीज़ ख़त्म होने के समय के बाद 7 दिन तक आरक्षित रहता है।
  • --inbox-token ऐसे इनबॉक्स तक पहुँचता है जिसे इस CLI ने नहीं बनाया, temp read, watch और delete में।
  • डिस्पोज़ेबल इनबॉक्स में आए मेल का भेजने वाला कभी सत्यापित नहीं होता।

आपका इनबॉक्स,
आपकी अपनी शर्तों पर।

व्यवसायों, AI, एजेंट और निजी ईमेल के लिए ईमेल इन्फ़्रास्ट्रक्चर। स्केल, निजता और नियंत्रण के लिए बना। वह सब जो ईमेल में पहले दिन से होना चाहिए था।

OpenEmail

व्यवसायों, AI, एजेंट और निजी ईमेल के लिए ईमेल इन्फ़्रास्ट्रक्चर। स्केल, निजता और नियंत्रण के लिए बना। वह सब जो ईमेल में पहले दिन से होना चाहिए था।

© 2026 OpenEmail. सर्वाधिकार सुरक्षित।