- 01خذ العنوان أعلاه.
هو موجود سلفاً — لا شيء تُنشئه ولا شيء تؤكّده.
- 02الصقه
في نموذج التسجيل الذي يطلب منك بريداً إلكترونياً.
- 03يظهر الرمز هنا
بخطّ كبير مع زرّ للنسخ. لست مضطراً لفتح الرسالة ولا لقراءتها.
لاختباراتك الآلية
الخدمة نفسها تتيح واجهة API. المسار الذي يهمّ هو wait: يحجب التنفيذ حتى تصل الرسالة، بدل أن يدفعك إلى تخمين مُدد sleep في اختبارات الطرف إلى الطرف.
- wait ينتظر حتى تصل الرسالة. لا حاجة بعد الآن إلى
sleep()في اختباراتك. - الرمز والروابط تعود مستخرَجة مسبقاً، في حقول JSON.
- Webhooks ونطاق خاصّ بك في باقة مطوّر.
ألف نداء شهرياً، بلا بطاقة. ما يكفي لوصله بمجموعة اختباراتك ومعرفة إن كان يصمد.
// Playwright — تسجيل كامل، بما في ذلك الرمز const { address, id } = await sink.createInbox(); await page.fill('#email', address); await page.click('#signup'); const code = await sink.waitForOtp(id); // يتحرّر حين تصل الرسالة await page.fill('#code', code); // الرمز مستخرَج سلفاً
// cypress.config.js — setupNodeEvents on('task', { createInbox: () => sink.createInbox(), waitForOtp: (id) => sink.waitForOtp(id, { timeout: 45000 }), }); // signup.cy.js cy.task('createInbox').then(({ id, address }) => { cy.get('#email').type(address); cy.get('#signup').click(); cy.task('waitForOtp', id).then((code) => cy.get('#code').type(code)); });
import requests, os API = "https://inboxsink.com/v1" H = {"Authorization": f"Bearer {os.environ['INBOXSINK_API_KEY']}"} box = requests.post(f"{API}/inboxes", headers=H).json() driver.find_element(By.ID, "email").send_keys(box["address"]) msg = requests.get(f"{API}/inboxes/{box['id']}/wait", params={"timeout": 45000}, headers=H, timeout=55).json() code = msg["message"]["otp"] # '204815'
curl -X POST https://inboxsink.com/v1/inboxes \ -H "Authorization: Bearer $KEY" → { "id": "42", "address": "9f2c1a@mailhusk.com" } curl "https://inboxsink.com/v1/inboxes/42/wait?timeout=45000" \ -H "Authorization: Bearer $KEY" → { "message": { "otp": "204815", "link": "https://…/confirm" } }
الأسعار
يبقى الصندوق المؤقّت مجّانياً وبلا حساب، إلى الأبد. ما يُدفَع ثمنه هو الأتمتة: الواجهة البرمجية، والنطاقات التي تملكها، ومدّة الحفظ.
- عنوان مؤقّت فوري
- رمز تحقّق مستخرَج
- حفظ ساعة واحدة
- نطاق مشترك
- بلا واجهة برمجية
- واجهة كاملة، بما فيها wait
- 10 000 استدعاء API / شهر
- نطاق واحد تملكه
- Webhooks
- حفظ 30 يوماً
الدفع بالبطاقة تتولاه Stripe. الإلغاء بنقرة واحدة من لوحة التحكم.
يتضمّن الحساب المجّاني مفتاح واجهة محدوداً بألف نداء شهرياً، وهو ما يكفي للتقييم دون أيّ التزام. ولا نطلب بطاقة.
هذه الصناديق تستقبل فحسب. لا يمكن الردّ من عنوان مؤقّت، وهذا مقصود: رسالة كهذه لن تصل إلى أيّ مكان على أيّ حال.
تُحجَب الصور البعيدة في الرسائل افتراضياً. ويُعرَض HTML معزولاً، بلا نصوص برمجية وبلا وصول إلى الصفحة.
ساعة واحدة ثم المحو. لا أرشيف ولا نسخة احتياطية، ولا شيء تطالبنا به لاحقاً.
لماذا الدفع مقابل نطاق خاصّ؟
لأنّ نماذج التسجيل ترفض النطاقات المؤقّتة المعروفة. ونطاقك أنت لا يُنشَر في أيّ مكان، فلا يقع في أيّ قائمة حجب، وتظلّ اختباراتك ناجحة. وهذه هي الطريقة الوحيدة المستدامة لإبقاء اختبارات كهذه قائمة.
هل يمكن الردّ من عنوان مؤقّت؟
لا، ونحن نفضّل قول ذلك صراحةً على تقديم زرّ لا يعمل: رسالة مُرسَلة من نطاق مؤقّت يرفضها أو يصنّفها كبريد مزعج جميع مزوّدي الخدمة تقريباً. أمّا على نطاقك أنت، وبسمعتك أنت، فالأمر مختلف — راسلنا.
ماذا يحدث للبريد الوارد؟
يُحذف عند انتهاء صلاحيّة الصندوق: ساعة في الخطّة المجّانية، وحتى ثلاثين يوماً حسب الخطّة. ولا يوجد أرشيف ولا نسخة احتياطية بعد ذلك.
اختبار التسجيل القادم يمكن أن ينجح من المحاولة الأولى.
مفتاح API مجّاني في ثلاثين ثانية. انتقل إلى الباقة المدفوعة يوم تحتاج اختباراتك إلى نطاق لا يحجبه أحد.
ثم حين تبدأ اختباراتك بالرفض: نطاقك الخاصّ لا يُنشَر في أيّ مكان، فلا يقع في أيّ قائمة حجب — 29 € شهرياً.