ईमेल एक धीमी, जटिल निर्भरता है जो ऑटोमेटेड टेस्ट रन को अस्थिर बना देती है। एक साइनअप टेस्ट स्थानीय रूप से पास हो सकता है लेकिन CI में फेल हो सकता है क्योंकि इनबॉक्स में पहले से ही पुराना वेरिफिकेशन लिंक है, डिलीवरी में देरी है, या ईमेल बॉडी को पार्स करना कठिन है। समाधान सरल है: हर टेस्ट रन के लिए एक फ्रेश डिस्पोजेबल ईमेल इनबॉक्स जेनरेट करें, फिर स्ट्रक्चर्ड फॉर्मेट में प्राप्त मैसेज पर एसर्ट करें।
यह गाइड प्रोग्रामेटिक रूप से डिस्पोजेबल इनबॉक्स बनाने, विश्वसनीय रूप से ईमेल एकत्र करने, और QA ऑटोमेशन और LLM-चालित एजेंट्स में उनका उपयोग करने का एक व्यावहारिक, दोहराए जाने योग्य तरीका दिखाता है।
टेस्ट रन के लिए “डिस्पोजेबल ईमेल इनबॉक्स” का मतलब
टेस्टिंग के लिए, एक डिस्पोजेबल इनबॉक्स केवल एक रैंडम ईमेल एड्रेस नहीं है। यह एक इनबॉक्स है जिसे आप:
- ऑन डिमांड बना सकते हैं (प्रति रन, प्रति स्पेक, या प्रति यूजर)
- ऑटोमेटिक रूप से पढ़ सकते हैं (बिना किसी इंसान के UI खोले)
- एक विशिष्ट टेस्ट कंटेक्स्ट से जोड़ सकते हैं (रन ID, सिनेरियो ID)
- रन समाप्त होने के बाद डिलीट कर सकते हैं या इग्नोर कर सकते हैं
यह मायने रखता है क्योंकि कई “टेम्पररी ईमेल” साइट्स इंसानों के लिए बनी हैं, ऑटोमेशन के लिए नहीं। उनमें अक्सर रेट लिमिट्स, कोई API नहीं, अविश्वसनीय डिलीवरी, और CI में इंटीग्रेट करने का कोई सुरक्षित तरीका नहीं होता।
💡 अस्थिर ईमेल टेस्ट्स से छुटकारा पाएं
Mailhook अविश्वसनीय टेम्पररी ईमेल प्रोवाइडर्स की समस्याओं को खत्म करता है। प्रोग्रामेटिक रूप से डिस्पोजेबल इनबॉक्स बनाएं, ईमेल्स को स्ट्रक्चर्ड JSON के रूप में प्राप्त करें, और मजबूत टेस्ट ऑटोमेशन बनाएं। विश्वसनीय टेस्टिंग शुरू करें → या API docs देखें →
Mailhook विशेष रूप से ऑटोमेशन और एजेंट्स के लिए बनाया गया है: आप API के माध्यम से डिस्पोजेबल इनबॉक्स बनाते हैं, फिर इनबाउंड ईमेल्स को स्ट्रक्चर्ड JSON के रूप में प्राप्त करते हैं, पोलिंग या रियल-टाइम वेबहुक्स के द्वारा।
टेस्ट-रन सिनेरियो जिन्हें फ्रेश इनबॉक्स की आवश्यकता होती है
डिस्पोजेबल इनबॉक्स उन जगह काम आते हैं जहां आपका प्रोडक्ट ईमेल भेजता है और यूजर से एक्शन की अपेक्षा करता है:
- साइनअप वेरिफिकेशन (OTP कोड, वेरिफिकेशन लिंक)
- पासवर्ड रीसेट
- मैजिक लिंक्स (पासवर्डलेस लॉगिन)
- निमंत्रण (वर्कस्पेस इनवाइट्स, टीममेट ऑनबोर्डिंग)
- ईमेल चेंज कन्फर्मेशन
- इनबाउंड ईमेल पार्सिंग (सपोर्ट रिप्लाईज, इनबाउंड रूटिंग, रिप्लाई-टू हैंडलिंग)
- एजेंट वर्कफ़्लो जहां एक LLM को “ईमेल प्राप्त करना” और टोकन एक्सट्रैक्ट करना होता है
यदि आप आउटरीच या लीड हैंडलिंग से संबंधित ऑटोमेशन बनाते हैं, तो आपको स्टेजिंग में डिस्पोजेबल इनबॉक्स की आवश्यकता होगी ताकि वास्तविक मेलबॉक्स को प्रभावित किए बिना इनबाउंड फ्लो का परीक्षण कर सकें। उदाहरण के लिए, Orsay जैसी Instagram लीड पाइपलाइन बनाने वाली टीमों को अक्सर विभिन्न एनवायरनमेंट में फॉलो-अप और रिस्पॉन्स लूप्स को एंड-टू-एंड वैलिडेट करने की आवश्यकता होती है।
डिस्पोजेबल इनबॉक्स API में क्या देखें (QA + एजेंट एडिशन)
सभी डिस्पोजेबल ईमेल प्रोवाइडर्स ऑटोमेशन-फ्रेंडली नहीं हैं। यहां एक व्यावहारिक चेकलिस्ट है और यह कि यह Mailhook की क्षमताओं से कैसे मैप होती है।
| टेस्ट रन के लिए आवश्यकता | CI और एजेंट्स में यह क्यों मायने रखता है | Mailhook में क्या उपयोग करें |
|---|---|---|
| प्रोग्रामेटिक इनबॉक्स क्रिएशन | आपको प्रति रन एक इनबॉक्स चाहिए, साझा मेलबॉक्स नहीं | API के माध्यम से डिस्पोजेबल इनबॉक्स क्रिएशन |
| स्ट्रक्चर्ड मैसेज | टेस्ट्स को फील्ड्स पर एसर्ट करना चाहिए, regex HTML पर नहीं | ईमेल्स को JSON के रूप में प्राप्त करें |
| रियल-टाइम डिलीवरी सिग्नल्स | लंबी स्लीप्स और अस्थिर पोलिंग लूप्स से बचें | वेबहुक नोटिफिकेशन |
| पोलिंग फॉलबैक | कुछ CI सेटअप्स इनबाउंड वेबहुक्स स्वीकार नहीं कर सकते | ईमेल्स के लिए पोलिंग API |
| सिक्योरिटी कंट्रोल्स | ऑटोमेशन में अनसाइन्ड कॉलबैक्स पर भरोसा न करें | साइन्ड पेलोड्स |
| डोमेन ऑप्शन्स | साझा डोमेन तेज़ हैं, कस्टम डोमेन कंट्रोल देते हैं | इंस्टेंट साझा डोमेन + कस्टम डोमेन सपोर्ट |
| बैच-फ्रेंडली प्रोसेसिंग | कई टेस्ट्स कई ईमेल्स जेनरेट करते हैं | बैच ईमेल प्रोसेसिंग |
“एक इनबॉक्स प्रति टेस्ट रन” पैटर्न
सबसे सरल विश्वसनीय पैटर्न है:
- रन की शुरुआत में एक नया इनबॉक्स जेनरेट करें
- उस एड्रेस का उपयोग अपने टेस्ट किए जाने वाले ऐप में करें (साइनअप, रीसेट, इनवाइट)
- ईमेल का इंतज़ार करें (वेबहुक-फर्स्ट, फॉलबैक के रूप में पोलिंग)
- JSON पर एसर्ट करें (सब्जेक्ट, रिसिपिएंट, लिंक्स, कोड्स)
- रन समाप्त करें और इनबॉक्स को फेंक दें
मुख्य आइडिया: इनबॉक्स को एक टेस्ट फिक्सचर की तरह ट्रीट करें। आपके ऐप को कभी भी टेस्ट ईमेल्स को साझा एड्रेस पर नहीं भेजना चाहिए जो हिस्ट्री एकत्र करता रहे।

स्टेप-बाई-स्टेप: डिस्पोजेबल इनबॉक्स जेनरेट करें और ईमेल पर एसर्ट करें
क्योंकि एंडपॉइंट शेप्स समय के साथ बदल सकते हैं, सबसे मजबूत तरीका यह है:
- इनबॉक्स बनाने और ईमेल एड्रेस प्राप्त करने के लिए Mailhook API का उपयोग करें
- प्राप्त मैसेज को फेच करने के लिए या तो वेबहुक डिलीवरी या पोलिंग का उपयोग करें
- अपने टेस्ट एसर्शन्स को स्थिर फील्ड्स पर केंद्रित रखें (रिसिपिएंट, सब्जेक्ट, एक्सट्रैक्टेड URL/टोकन)
सबसे अप-टू-डेट इंटरफ़ेस विवरण के लिए, आधिकारिक रेफरेंस हाथ में रखें: Mailhook llms.txt।
1) इनबॉक्स बनाएं (टेस्ट शुरू में)
अपने टेस्ट सेटअप के हिस्से के रूप में इनबॉक्स बनाएं और स्टोर करें:
- जेनरेटेड ईमेल एड्रेस (अपने UI/API में फीड करने के लिए)
- इनबॉक्स आइडेंटिफायर (बाद में मैसेज फेच करने के लिए)
इम्प्लीमेंटेशन टिप: एक डिटर्मिनिस्टिक रन की का उपयोग करके इनबॉक्स को नाम दें या टैग करें (उदाहरण के लिए run_2026_01_17_build_1842)। भले ही आप सर्वर-साइड टैग्स पर निर्भर न हों, इस वैल्यू को अपने टेस्ट लॉग्स में रखना डिबगिंग को बहुत आसान बनाता है।
2) अपने ऐप से ईमेल ट्रिगर करें
जो एक्शन आप टेस्ट करना चाहते हैं वह चलाएं:
- डिस्पोजेबल ईमेल के साथ अपने साइनअप एंडपॉइंट को कॉल करें
- या Playwright/Cypress में UI साइनअप फ्लो पूरा करें
इस बिंदु पर, आपके ऐप द्वारा नए एड्रेस पर ईमेल भेजा जाना चाहिए।
3) ईमेल प्राप्त करें: वेबहुक-फर्स्ट या पोलिंग
वेबहुक एप्रोच (स्पीड और विश्वसनीयता के लिए अनुशंसित)
- आपका टेस्ट हार्नेस एक कॉलबैक एंडपॉइंट (या एक छोटा लोकल सर्वर) एक्सपोज़ करता है
- Mailhook इनबाउंड ईमेल इवेंट्स को आपके वेबहुक पर पोस्ट करता है
- इवेंट आते ही आप टेस्ट को अनब्लॉक करते हैं
सिक्योरिटी के लिए, इवेंट को स्वीकार करने से पहले साइन्ड पेलोड्स को वेरिफाई करें (Mailhook साइन्ड पेलोड्स को सपोर्ट करता है)।
पोलिंग एप्रोच (जब वेबहुक्स असुविधाजनक हों तो बेस्ट)
- ईमेल ट्रिगर करने के बाद, मैसेज के लिए इनबॉक्स को पोल करें
- अपेक्षित मैसेज प्राप्त होने या टाइमआउट हिट होने पर रुकें
CI में, पोलिंग अक्सर वायर अप करने के लिए सरल होता है, लेकिन वेबहुक्स आमतौर पर कुल रनटाइम और अस्थिरता को कम करते हैं।
4) JSON फील्ड्स पर एसर्ट करें, ईमेल HTML पर नहीं
सटीक JSON शेप प्रोवाइडर पर निर्भर करता है, लेकिन एक स्ट्रक्चर्ड ईमेल पेलोड में आमतौर पर निम्नलिखित फील्ड्स शामिल होते हैं:
- भेजने वाले और प्राप्त करने वाले के पते
- विषय
- टेक्स्ट बॉडी और/या HTML बॉडी
- हेडर्स
- अटैचमेंट्स (यदि मौजूद हैं)
टेस्टिंग टिप: इस तरह के एसर्शन्स को प्राथमिकता दें:
- “रिसिपिएंट जेनरेटेड एड्रेस के बराबर है”
- “सब्जेक्ट में ‘अपना ईमेल वेरिफाई करें’ शामिल है”
- “बॉडी में
/verifyपाथ के साथ URL शामिल है”
फिर वेरिफिकेशन लिंक या OTP को टार्गेटेड तरीके से पार्स करें। पूरे HTML के भंगुर स्नैपशॉट्स से बचें।
ईमेल-आधारित टेस्ट्स को कम अस्थिर बनाना
अधिकांश फेलियर्स टाइमिंग और अस्पष्टता से आती हैं। ये प्रैक्टिसेज आपके सूट को मजबूत बनाती हैं।
अनुमान के बजाय कोरिलेशन का उपयोग करें
यदि आपका ऐप कई ईमेल्स भेज सकता है, तो रिक्वेस्ट में एक यूनीक कोरिलेशन क्यू शामिल करें ताकि आप सही मैसेज को जल्दी पहचान सकें। उदाहरण:
- साइनअप नाम में एम्बेड किया गया एक यूनीक रन ID (यदि आपका टेम्प्लेट इसे शामिल करता है)
- टेस्ट एनवायरनमेंट में एक अलग सब्जेक्ट प्रीफिक्स
- प्रति सिनेरियो एक अलग ईमेल एड्रेस (बेस्ट ऑप्शन)
सबसे साफ़ एप्रोच यही है: प्रति सिनेरियो एक इनबॉक्स।
स्लीप्स को एक्सप्लिसिट वेट्स से रिप्लेस करें
sleep(10) के बजाय, यह करें:
- वेबहुक: N सेकंड तक के लिए promise/event का इंतज़ार करें
- पोलिंग: छोटे इंटरवल और ओवरऑल टाइमआउट के साथ पोल करें
CI में एक व्यावहारिक शुरुआती बिंदु 30 से 60 सेकंड मैक्स वेट है, 1 से 2 सेकंड पोलिंग इंटरवल के साथ। अपने ईमेल प्रोवाइडर और एनवायरनमेंट के आधार पर ट्यून करें।
न्यूनतम एसर्ट करें जो सत्यता साबित करे
ईमेल टेम्प्लेट्स अक्सर बदलते हैं। आपके टेस्ट को व्यवहार को वैलिडेट करना चाहिए, कॉपी राइटिंग को नहीं।
अच्छे एसर्शन्स:
- वेरिफिकेशन लिंक मौजूद है और वैलिड है
- रीसेट टोकन अपेक्षित फॉर्मेट से मैच करता है
- रिसिपिएंट एड्रेस सही है
जोखिम भरे एसर्शन्स:
- सटीक HTML मार्कअप
- पूरा पैराग्राफ टेक्स्ट
टेस्टिंग के लिए साझा डोमेन बनाम कस्टम डोमेन
Mailhook इंस्टेंट साझा डोमेन और कस्टम डोमेन सपोर्ट करता है। आपको कौन सा उपयोग करना चाहिए?
साझा डोमेन तब आदर्श हैं जब:
- आप तेज़तम सेटअप चाहते हैं
- आप इंटर्नल QA और CI चला रहे हैं जहां डोमेन ब्रांडिंग मायने नहीं रखती
- आपको डोमेन-लेवल डिलिवरेबिलिटी ट्यूनिंग की आवश्यकता नहीं है
कस्टम डोमेन तब आदर्श हैं जब:
- आप वास्तविक स्टेजिंग एनवायरनमेंट चाहते हैं (उदाहरण के लिए,
test.yourcompany.com) - आपको अपने इकोसिस्टम में मेल कैसे भेजा/प्राप्त किया जाता है इस पर अधिक नियंत्रण चाहिए
- आप प्रोडक्शन असम्प्शन्स को करीब से मिरर करना चाहते हैं
व्यावहारिक रूप से, कई टीमें स्पीड के लिए साझा डोमेन से शुरुआत करती हैं, फिर टेस्ट्स स्थिर होने के बाद कस्टम डोमेन जोड़ती हैं।
LLM एजेंट्स के साथ डिस्पोजेबल इनबॉक्स का उपयोग
LLM एजेंट्स को अक्सर ऐसे वर्कफ़्लो पूरे करने होते हैं जिनमें ईमेल शामिल हो:
- ट्रायल अकाउंट बनाना
- वेरिफिकेशन का इंतज़ार करना
- कोड या लिंक एक्सट्रैक्ट करना
- वर्कफ़्लो जारी रखना
एक विश्वसनीय एजेंट पैटर्न है:
- टूल:
create_inbox()returns{ inbox_id, email_address } - टूल:
wait_for_email(inbox_id, filter)अगला मैचिंग ईमेल JSON रिटर्न करता है - एजेंट लॉजिक:
verification_linkया OTP एक्सट्रैक्ट करें और आगे बढ़ें
जब आप वेबहुक डिलीवरी का उपयोग करते हैं, तो आप मैसेज को अपने एजेंट की इवेंट क्यू में आते ही पुश कर सकते हैं, लेटेंसी कम कर सकते हैं और अनावश्यक पोलिंग साइकल्स को खत्म कर सकते हैं।
💡 स्मार्ट AI एजेंट्स बनाएं जो ईमेल वर्कफ़्लो हैंडल करें
अपने LLM एजेंट्स को अकाउंट बनाने, वेरिफिकेशन ईमेल्स प्राप्त करने, और टोकन्स को ऑटोमेटिक रूप से एक्सट्रैक्ट करने की क्षमता दें। Mailhook के API-फर्स्ट एप्रोच के साथ, एजेंट्स को स्वायत्त वर्कफ़्लो के लिए परफेक्ट स्ट्रक्चर्ड JSON रिस्पॉन्सेज मिलते हैं। AI एजेंट यूज़ केसेज एक्सप्लोर करें → या बिल्डिंग शुरू करें →
यदि आप एजेंट टूल्स इम्प्लीमेंट कर रहे हैं, तो इंटरफ़ेस को छोटा और डिटर्मिनिस्टिक रखें। एजेंट्स बेहतर प्रदर्शन करते हैं जब टूल स्ट्रक्चर्ड डेटा रिटर्न करता है, जो कि ईमेल्स को JSON के रूप में प्राप्त करने का बिल्कुल मतलब है।
स्केल पर CI शिप करने वाली टीमों के लिए इम्प्लीमेंटेशन नोट्स
एक बार जब आपके पास कई कंकरेंट टेस्ट रन हों तो कुछ ऑपरेशनल प्रैक्टिसेज मदद करती हैं:
- पैरेललिज्म: कोलिज़न से बचने के लिए प्रति वर्कर एक इनबॉक्स जेनरेट करें।
- आइसोलेशन: रन के बीच इनबॉक्स को कभी री-यूज़ न करें, भले ही आप उन्हें “साफ” करें।
- डिबगेबिलिटी: हर रन के लिए जेनरेटेड ईमेल एड्रेस और इनबॉक्स ID को लॉग करें।
- सिक्योरिटी: वेबहुक सिग्नेचर्स को वेरिफाई करें, ईमेल कंटेंट को अनट्रस्टेड इनपुट की तरह ट्रीट करें।
- थ्रूपुट: यदि आप एक साथ कई ईमेल्स प्रोसेस करते हैं, तो ओवरहेड कम करने के लिए बैच-फ्रेंडली फेचिंग और पार्सिंग को प्राथमिकता दें।
Mailhook के साथ शुरुआत करें
यदि आपके टेस्ट्स या एजेंट्स ईमेल पर निर्भर हैं, तो डिस्पोजेबल इनबॉक्स विश्वसनीयता के लिए सबसे अधिक ROI वाले बदलावों में से एक है। Mailhook बिल्कुल इसके लिए डिज़ाइन किया गया है: API के माध्यम से प्रोग्रामेबल इनबॉक्स क्रिएशन, इनबाउंड ईमेल्स को स्ट्रक्चर्ड JSON के रूप में डिलीवर करना, रियल-टाइम वेबहुक्स, पोलिंग फॉलबैक, साइन्ड पेलोड्स, और साझा और कस्टम दोनों डोमेन्स के लिए सपोर्ट।
कैनोनिकल फीचर और इंटीग्रेशन रेफरेंस यहां उपयोग करें: Mailhook llms.txt।
फिर अपने अगले टेस्ट रन के लिए डिस्पोजेबल ईमेल इनबॉक्स जेनरेट करना शुरू करने के लिए Mailhook पर प्लेटफॉर्म एक्सप्लोर करें।