inboxsink API
कोड से चलने वाले अस्थायी इनबॉक्स, ताकि आप असली मेलबॉक्स पर निर्भर हुए बिना पंजीकरण प्रवाह परख सकें। पाँच रास्ते, एक आधार https://inboxsink.com, और JSON।
जो रास्ता सचमुच फ़र्क़ डालता है वह है wait: यह संदेश आने तक रुका रहता है। इसके बिना एंड-टू-एंड परीक्षण sleep से अंदाज़ा लगाता है और भेजने की क़तार धीमी होते ही डगमगाने लगता है।
महीने में एक हज़ार कॉल, बिना कार्ड। अपने टेस्ट सूट में जोड़कर देखने के लिए काफ़ी कि यह टिकता है या नहीं।
फिर, जब आपके परीक्षण ठुकराए जाने लगें: आपका अपना डोमेन कहीं प्रकाशित नहीं होता, इसलिए किसी काली सूची में नहीं जाता — 29 € प्रति माह।
JavaScript क्लाइंट
बिना किसी निर्भरता वाला पैकेज, Node 18 और उससे ऊपर के लिए। कोड GitHub पर है।
npm i inboxsink
import { InboxSink } from 'inboxsink'; const sink = new InboxSink(process.env.INBOXSINK_API_KEY); const inbox = await sink.createInbox(); const code = await sink.waitForOtp(inbox.id); // '204815'
जब कोई कोड नहीं आता तो waitForOtp null लौटाने के बजाय त्रुटि फेंकता है: परीक्षण को चुपचाप खाली खाना भरने के बजाय ज़ोर से विफल होना चाहिए।
प्रमाणीकरण
हर कॉल पर एक Authorization हेडर। कुंजियाँ डैशबोर्ड से बनती हैं और ibsk_ से शुरू होती हैं।
curl -H "Authorization: Bearer ibsk_…" \
https://inboxsink.com/v1/domains
खुली कुंजी सिर्फ़ बनाते समय दिखती है। उसके बाद केवल उसका उपसर्ग दिखता रहता है — हम उसका सिर्फ़ हैश रखते हैं।
इनबॉक्स बनाना
सभी पैरामीटर वैकल्पिक हैं: domain (डिफ़ॉल्ट रूप से पूल से कोई यादृच्छिक डोमेन), prefix (डिफ़ॉल्ट यादृच्छिक), ttl_seconds (60 सेकंड से 30 दिन तक)।
curl -X POST https://inboxsink.com/v1/inboxes \ -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \ -d '{"ttl_seconds": 900}' → 201 { "id": "42", "address": "9f2c1a@mailhusk.com", "expires_at": "2026-09-01T15:12:00Z" }
API से बना इनबॉक्स निजी होता है: उसे केवल वही कुंजी पढ़ सकती है जिसने उसे बनाया।
संदेश की प्रतीक्षा
संदेश आने तक रुकता है, फिर तुरंत जवाब देता है। timeout मिलीसेकंड में (डिफ़ॉल्ट 30 000, अधिकतम 120 000), और since से किसी पहचानकर्ता के बाद के संदेश ही मिलते हैं।
यदि समय बीत जाए और कोई संदेश न आए तो बिना सामग्री के 204 लौटता है — यह त्रुटि नहीं, «कुछ नहीं आया» का सामान्य उत्तर है।
curl -H "Authorization: Bearer $KEY" \ "https://inboxsink.com/v1/inboxes/42/wait?timeout=45000" → 200 { "message": { "id": "913", "from": "no-reply@acme.com", "subject": "…", "otp": "204815", "link": "https://acme.com/confirm/9f3a" } }
otp और link आपके लिए पहले ही निकाल लिए जाते हैं। कोड तभी बताया जाता है जब संदेश वाक़ई उसकी घोषणा करता हो («कोड», «सत्यापन», «लॉग इन»…) — बिल की रक़म या कोई वर्ष कभी कोड समझा नहीं जाएगा।
संदेशों की सूची
since और limit लेता है (डिफ़ॉल्ट 50, अधिकतम 200)। संदेश की देह के बिना सारांश लौटाता है।
संदेश पढ़ना
पूरा संदेश: text, html, headers और अनुलग्नकों की सूची।
इनबॉक्स हटाना
इनबॉक्स और उसके संदेश तुरंत मिटा देता है। 204 लौटाता है।
त्रुटियाँ
| 204 | कोई सामग्री नहीं — wait में, समय बीत गया और संदेश नहीं आया |
| 400 | अमान्य पैरामीटर |
| 401 | कुंजी नहीं है, अज्ञात है, या रद्द है |
| 403 | वह इनबॉक्स किसी और कुंजी का है |
| 404 | इनबॉक्स या संदेश मौजूद नहीं, या समाप्त हो चुका |
| 429 | बहुत ज़्यादा कॉल |
सीमाएँ और आयु
सार्वजनिक पूल के इनबॉक्स एक घंटा जीते हैं; API से बने अपने ttl_seconds का पालन करते हैं, तीस दिन तक। अवधि बीतने पर इनबॉक्स और संदेश हटा दिए जाते हैं — बाद में निकालने लायक कोई संग्रह नहीं बचता।
दस मेगाबाइट से बड़े संदेश प्राप्ति के समय ही अस्वीकार कर दिए जाते हैं। अज्ञात डोमेन के पते SMTP सत्र के दौरान ही अस्वीकार होते हैं, बिना कोई बाउंस बनाए।
ये इनबॉक्स मेल भेज नहीं सकते, और यह जानबूझकर है: अस्थायी डोमेन से भेजा संदेश कहीं नहीं पहुँचेगा।