SMTP से भेजें
POST /emails जैसा ही भेजना, SMTP बोलने वाले सॉफ़्टवेयर के लिए।
कनेक्ट करें
जो भी चीज़ SMTP सर्वर के ज़रिए मेल भेजती है, वह OpenEmail के ज़रिए भेज सकती है: किसी फ़्रेमवर्क का mailer, कोई CMS, मॉनिटरिंग टूल, प्रिंटर। यूज़रनेम openemail और पासवर्ड के रूप में API कुंजी के साथ साइन इन करें। कुंजी को emails:send स्कोप चाहिए, और वह जो संदेश सौंपती है, वह उसी कुंजी से किए गए POST /emails जैसा ही भेजना है।
| सेटिंग | मान |
|---|---|
| होस्ट | smtp.openemail.uk |
| Port | SSL/TLS के साथ 465, या STARTTLS के साथ 587 |
| यूज़रनेम | openemail |
| पासवर्ड | emails:send स्कोप वाली API कुंजी |
| साइन-इन | PLAIN या LOGIN, जिसे ज़्यादातर सॉफ़्टवेयर सामान्य पासवर्ड कहते हैं |
बिना एन्क्रिप्शन के कुछ भी स्वीकार नहीं होता, और पोर्ट 587 पर साइन-इन STARTTLS के बाद ही खुलता है। API कुंजी सिर्फ़ भेजने के लिए साइन इन करती है। IMAP या POP3 पर मेलबॉक्स पढ़ने के लिए ऐप पासवर्ड चाहिए।
एक टेस्ट संदेश भेजें
किसी संदेश को message.eml के रूप में सहेजें और उसे curl से सौंपें। From ऐसा पता होना चाहिए जिसके रूप में कुंजी भेज सके।
From: Acme <[email protected]>To: [email protected]Subject: Hello over SMTPMessage-ID: <[email protected]> It works.curl --url "smtps://smtp.openemail.uk:465" \ --user "openemail:$OPENEMAIL_API_KEY" \ --mail-from "[email protected]" \ --mail-rcpt "[email protected]" \ --upload-file message.eml --crlfcurl --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 से भेजा गया संदेश जाता है, इसलिए वह अपने हिस्सों से दोबारा बनाया जाता है और बाइट-दर-बाइट आगे नहीं बढ़ाया जाता।
| संदेश में | भेजने में |
|---|---|
| From | from। यह ज़रूरी है, और कुंजी की जाँच इसी भेजने वाले के लिए होती है। MAIL FROM का पता बस मौजूद होना चाहिए। |
| RCPT TO | संदेश किन्हें पहुँचाया जाता है, अधिकतम 50। To में लिखा प्राप्तकर्ता to है, Cc में लिखा cc है, और जो दोनों में नहीं है वह bcc है। कम से कम एक To में होना चाहिए। |
| Reply-To | replyTo, पहला पता। |
| Subject | subject। |
| टेक्स्ट और HTML हिस्से | text और html। जिस इमेज को HTML cid: के रूप में इस्तेमाल करता है, वह जहाँ दिखती है वहीं जोड़ दी जाती है। |
| Attachments | attachments: अधिकतम 20 फ़ाइलें और कुल 5 MB। |
| बाकी हेडर | X-*, List-*, Precedence, Auto-Submitted, Importance, Priority और Feedback-ID रखे जाते हैं। बाकी हर हेडर छोड़ दिया जाता है। |
| X-OpenEmail-Stream | stream: 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 से भेजे गए संदेशों के साथ सूचीबद्ध करता है। असली कुंजी के साथ विफल हुआ साइन-इन उस कुंजी की गतिविधि में दिखता है।