Mail.td का REST API एंड-टू-एंड परीक्षण के लिए डिज़ाइन किया गया है — सत्यापित करने के लिए कि साइनअप, पासवर्ड रीसेट, और ईमेल-ट्रिगर वर्कफ़्लो सही व्यवहार करते हैं। यह गाइड सामान्य परीक्षण उपकरणों के लिए एकीकरण पैटर्न पर केंद्रित है।
कच्चे एंडपॉइंट संदर्भ (अनुरोध/प्रतिक्रिया प्रारूप) के लिए, API पृष्ठ या docs.mail.td देखें।
Selenium / Playwright / Cypress
पैटर्न: प्रत्येक परीक्षण से पहले एक नया इनबॉक्स बनाएं, अपने ऐप को उस पते के साथ साइन अप करें, फिर सत्यापन ईमेल के लिए API को पोल करें।
// सूडोकोड — किसी भी टेस्ट फ्रेमवर्क के अनुकूल
async function signUpFlow(page) {
// 1. अस्थायी मेलबॉक्स बनाएं
const mailbox = await fetch("https://api.mail.td/api/accounts", {
method: "POST",
headers: {
Authorization: "Bearer td_xxx",
"Content-Type": "application/json"
},
body: JSON.stringify({
address: `test-${Date.now()}@mail.td`,
password: "secret"
})
}).then(r => r.json());
// 2. mailbox.address के साथ अपना ऐप साइन अप करें
await page.goto("/signup");
await page.fill("[name=email]", mailbox.address);
await page.click("button[type=submit]");
// 3. सत्यापन ईमेल के लिए पोल करें (30s तक)
for (let i = 0; i < 30; i++) {
const list = await fetch(
`https://api.mail.td/api/accounts/${mailbox.id}/messages`,
{ headers: { Authorization: "Bearer td_xxx" } }
).then(r => r.json());
if (list.messages.length > 0) {
// सूची प्रतिक्रिया में बॉडी नहीं है — text_body प्राप्त करने के लिए संदेश विवरण लाएं
const msg = await fetch(
`https://api.mail.td/api/accounts/${mailbox.id}/messages/${list.messages[0].id}`,
{ headers: { Authorization: "Bearer td_xxx" } }
).then(r => r.json());
const link = extractLink(msg.text_body);
await page.goto(link);
break;
}
await new Promise(r => setTimeout(r, 1000));
}
}
CI/CD पाइपलाइन
GitHub Actions, GitLab CI, CircleCI, या किसी भी पाइपलाइन के लिए:
- एक API टोकन को CI सीक्रेट के रूप में संग्रहीत करें (लीक होने पर डैशबोर्ड से घुमाएं)
- प्रत्येक परीक्षण कार्य अपना खुद का मेलबॉक्स बनाता है — समानांतर कार्यों के बीच race condition को रोकता है
- प्रति परीक्षण एक अद्वितीय पते का उपयोग करें (जैसे
test-${RUN_ID}-${TEST_ID}@mail.td) ताकि विफलताओं को डिबग करना आसान हो - कोई सफाई आवश्यक नहीं — मेलबॉक्स स्वचालित रूप से समाप्त हो जाते हैं, कोई सफाई स्क्रिप्ट की आवश्यकता नहीं
तेज़ पाइपलाइन के लिए Webhooks (Pro)
पोलिंग प्रत्येक परीक्षण में विलंबता जोड़ती है। लंबे परीक्षण सूट के लिए, एक webhook URL पंजीकृत करें जो नया ईमेल आने पर POST प्राप्त करता है। आपका परीक्षण 30 बार पोलिंग के बजाय webhook डिलीवरी की प्रतीक्षा करता है। एक सामान्य 5–15 सेकंड की प्रतीक्षा को 1 सेकंड से कम कर देता है।
Webhooks HMAC-SHA256 के साथ हस्ताक्षरित हैं — प्रसंस्करण से पहले हस्ताक्षर हेडर सत्यापित करें।
SDK स्थापना
npm install mailtd # Node.js / TypeScript
pip install mailtd # Python
go get github.com/mailtd/mailtd-go # Go
पूर्ण एंडपॉइंट संदर्भ के लिए, mail.td/api देखें।