تخطَّ إلى المستندات
API

فحص عنوان بريد إلكتروني

هل يستحق العنوان أن يُرسل إليه، قبل الرسالة الأولى.

GET/tools/address

ينفّذ أيًّا من الاستدعاءات الـ2 على مساحة عملك.

GET /tools/address

هل يستحق العنوان أن يُرسل إليه، قبل الرسالة الأولى.

مثال

لا يحتاج إلى أي نطاق صلاحية. قيمة result هي valid أو risky أو invalid أو unknown، ويبيّن reasons السبب: صياغة خاطئة، أو نطاق لا يقبل البريد، أو صندوق مؤقت أو مشترك، أو خطأ إملائي محتمل مع تصحيحه في suggestion. ومع emails:read يضيف workspace ما تعرفه مساحة العمل هذه عن العنوان.

curl
curl "$OE/tools/[email protected]" -H "$AUTH"
الاستجابة
{  "object": "address_check",  "email": "[email protected]",  "normalized": "[email protected]",  "result": "risky",  "reasons": ["typo_suspected"],  "suggestion": "[email protected]",  "checks": {    "syntax": true,    "mx": { "status": "found", "hosts": ["mx.gmial.com"] },    "nullMx": false,    "disposable": false,    "role": false,    "freeProvider": false,    "mailbox": null  },  "workspace": { "suppressed": false, "lastBouncedAt": null, "lastDeliveredAt": null },  "checkedAt": "2026-10-11T09:41:00.000Z"}

العنوان ذو الصياغة الخاطئة ليس خطأً. تكون الإجابة 200 مع result بقيمة invalid.

deep=true يسأل أيضًا هل الصندوق موجود، في checks.mailbox. يتطلب emails:send ويُحتسب لكل عنوان عبر الدفع حسب الاستخدام. وإذا كان الدفع حسب الاستخدام متوقفًا فالنتيجة 409 deep_check_unavailable، ولا يُحتسب أي مبلغ.

فحص قائمة

POST /tools/addresses يقبل حتى 100 عنوان في emails ويجيب بفحص واحد لكل عنوان، بالترتيب الذي أُرسلت به. وينطبق deep عليها كلها.

curl
curl -X POST "$OE/tools/addresses" -H "$AUTH" -H "Content-Type: application/json" \  -d '{ "emails": ["[email protected]", "[email protected]"] }'
الاستجابة
{  "object": "list",  "data": [    { "object": "address_check", "email": "[email protected]", "result": "valid", "reasons": [] },    { "object": "address_check", "email": "[email protected]", "result": "risky", "reasons": ["role_address"] }  ]}

أكثر من 100 عنوان، أو عدم وجود أي عنوان، يعطي 422 invalid_parameter على emails.

المرجع