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

SMTP से भेजें

POST /emails जैसा ही भेजना, SMTP बोलने वाले सॉफ़्टवेयर के लिए।

कनेक्ट करें

जो भी चीज़ SMTP सर्वर के ज़रिए मेल भेजती है, वह OpenEmail के ज़रिए भेज सकती है: किसी फ़्रेमवर्क का mailer, कोई CMS, मॉनिटरिंग टूल, प्रिंटर। यूज़रनेम openemail और पासवर्ड के रूप में API कुंजी के साथ साइन इन करें। कुंजी को emails:send स्कोप चाहिए, और वह जो संदेश सौंपती है, वह उसी कुंजी से किए गए POST /emails जैसा ही भेजना है।

सेटिंगमान
होस्टsmtp.openemail.uk
PortSSL/TLS के साथ 465, या STARTTLS के साथ 587
यूज़रनेमopenemail
पासवर्डemails:send स्कोप वाली API कुंजी
साइन-इनPLAIN या LOGIN, जिसे ज़्यादातर सॉफ़्टवेयर सामान्य पासवर्ड कहते हैं

बिना एन्क्रिप्शन के कुछ भी स्वीकार नहीं होता, और पोर्ट 587 पर साइन-इन STARTTLS के बाद ही खुलता है। API कुंजी सिर्फ़ भेजने के लिए साइन इन करती है। IMAP या POP3 पर मेलबॉक्स पढ़ने के लिए ऐप पासवर्ड चाहिए।

एक टेस्ट संदेश भेजें

किसी संदेश को message.eml के रूप में सहेजें और उसे curl से सौंपें। From ऐसा पता होना चाहिए जिसके रूप में कुंजी भेज सके।

message.eml
From: Acme <[email protected]>To: [email protected]Subject: Hello over SMTPMessage-ID: <[email protected]> It works.
पोर्ट 465
curl --url "smtps://smtp.openemail.uk:465" \  --user "openemail:$OPENEMAIL_API_KEY" \  --mail-from "[email protected]" \  --mail-rcpt "[email protected]" \  --upload-file message.eml --crlf
पोर्ट 587
curl --ssl-reqd --url "smtp://smtp.openemail.uk:587" \  --user "openemail:$OPENEMAIL_API_KEY" \  --mail-from "[email protected]" \  --mail-rcpt "[email protected]" \  --upload-file message.eml --crlf

स्वीकार किए गए संदेश का जवाब 250 2.0.0 OK queued as होता है, जिसके बाद उसकी id आती है। यह वही id है जो GET /emails/{id} लेता है, इसलिए संदेश, उसके इवेंट और उसकी ट्रैकिंग किसी भी और भेजने की तरह पढ़े जाते हैं।

संदेश से भेजना कैसे बनता है

संदेश पढ़ा जाता है और उसी रास्ते से भेजा जाता है जिससे REST से भेजा गया संदेश जाता है, इसलिए वह अपने हिस्सों से दोबारा बनाया जाता है और बाइट-दर-बाइट आगे नहीं बढ़ाया जाता।

संदेश मेंभेजने में
Fromfrom। यह ज़रूरी है, और कुंजी की जाँच इसी भेजने वाले के लिए होती है। MAIL FROM का पता बस मौजूद होना चाहिए।
RCPT TOसंदेश किन्हें पहुँचाया जाता है, अधिकतम 50। To में लिखा प्राप्तकर्ता to है, Cc में लिखा cc है, और जो दोनों में नहीं है वह bcc है। कम से कम एक To में होना चाहिए।
Reply-ToreplyTo, पहला पता।
Subjectsubject।
टेक्स्ट और HTML हिस्सेtext और html। जिस इमेज को HTML cid: के रूप में इस्तेमाल करता है, वह जहाँ दिखती है वहीं जोड़ दी जाती है।
Attachmentsattachments: अधिकतम 20 फ़ाइलें और कुल 5 MB।
बाकी हेडरX-*, List-*, Precedence, Auto-Submitted, Importance, Priority और Feedback-ID रखे जाते हैं। बाकी हर हेडर छोड़ दिया जाता है।
X-OpenEmail-Streamstream: transactional या broadcast। संदेश के जाने से पहले यह हेडर हटा दिया जाता है।

क्या लागू होता है

REST से भेजने पर जो कुछ लागू होता है, वह सब यहाँ भी लागू होता है, क्योंकि रास्ता एक ही है।

  • कुंजी के स्कोप, और वे पते और डोमेन जिन तक वह सीमित है।
  • भेजने वाले की जाँच: From ऐसे डोमेन का पता है जो भेज सकता है, और ऐसा पता जिसके रूप में कुंजी भेज सकती है।
  • वर्कस्पेस का भेजने का कोटा और उसकी सप्रेशन सूची।
  • जिस पते से संदेश भेजा जाता है उसका हस्ताक्षर और उसकी open और click tracking, ठीक वैसे जैसे REST से भेजने पर, जब न signature सेट हो और न tracking।
  • लेन: जब तक ब्रॉडकास्ट लेन रुकी हुई है, X-OpenEmail-Stream: broadcast वाला संदेश अस्वीकार होता है।
  • वेबहुक और डिलीवरी इवेंट, जो संदेश को 250 वाले जवाब की id से पहचानते हैं।

रीट्राई

Message-ID वाला संदेश एक बार भेजा जाता है। उन्हीं प्राप्तकर्ताओं के लिए वही Message-ID दोबारा सौंपने पर जवाब में पहले संदेश की id मिलती है और कुछ नहीं भेजा जाता, इसलिए कनेक्शन टूटने के बाद दोबारा कोशिश करने वाला सॉफ़्टवेयर उसे दो बार नहीं भेज सकता। दूसरे प्राप्तकर्ताओं के लिए वही संदेश एक अलग भेजना है। Idempotency देखें।

जवाब और सीमाएँ

जवाबकब
250 2.0.0संदेश कतार में लग गया है, और इसके बाद उसकी id आती है।
535 5.7.8साइन-इन विफल हुआ: ग़लत, रद्द की गई या समाप्त हो चुकी कुंजी, emails:send के बिना कुंजी, या किसी और यूज़रनेम के साथ API कुंजी।
452 4.5.3एक संदेश में 50 से ज़्यादा प्राप्तकर्ता। मेल सॉफ़्टवेयर बाकी को अपने आप दूसरे संदेश में भेज देता है।
552 5.3.4संदेश 25 MB से बड़ा है।
550 5.6.0संदेश जैसा लिखा है वैसा नहीं भेजा जा सकता: From नहीं है, To में कोई नहीं है, अटैचमेंट बहुत ज़्यादा या बहुत बड़े हैं, या लेन अनजान है। जवाब का टेक्स्ट बताता है कि कौन-सी बात है।
550 5.7.1भेजना अस्वीकार हुआ: कुंजी उस पते के रूप में नहीं भेज सकती, डोमेन अभी भेज नहीं सकता, या ब्रॉडकास्ट लेन रुकी हुई है।
452 4.7.0वर्कस्पेस का भेजने का कोटा ख़त्म हो चुका है।
451 4.7.1एक मिनट में एक कुंजी से 300 से ज़्यादा संदेश। मेल सॉफ़्टवेयर रुककर फिर से कोशिश करता है।
451 4.3.0हमारी ओर की गड़बड़ी। थोड़ी देर में फिर कोशिश करें।

भेजने के लिए कुछ न होने पर कनेक्शन पाँच मिनट बाद बंद हो जाता है। एक कनेक्शन एक के बाद एक कितने भी संदेश ले जा सकता है।

अनुरोध लॉग में

कुंजी का सौंपा हर संदेश उसके अनुरोध लॉग में एक पंक्ति है, मेथड SMTP, पाथ /emails और उस स्थिति के साथ जो REST से भेजने पर होती: कतार में लगने पर 202, और अस्वीकार होने पर उसी एरर code के साथ 403, 422 या 429। GET /keys/{id}/requests?path=/emails इन्हें REST से भेजे गए संदेशों के साथ सूचीबद्ध करता है। असली कुंजी के साथ विफल हुआ साइन-इन उस कुंजी की गतिविधि में दिखता है।