MailLandDocs
التحقق من البريد

التحقق الجماعي

تحقق من صحة ما يصل إلى 100 عنوان بريد إلكتروني في طلب واحد

المصادقة

أدرج مفتاح API الخاص بك في ترويسة X-API-Key:

X-API-Key: ml_pv_Ab3Kx9mN2pQ7rT4wL8yD...

يجب أن يكون الاعتماد اعتماد منتج Validation مع تفعيل قناة Api.

التحقق من دفعة

POST https://api.mail.land/v1/validation/batch
طلب التحقق الجماعي
{
  "emails": [
    "[email protected]",
    "[email protected]",
    "invalid@",
    "[email protected]",
    "[email protected]"
  ],
  "verify_smtp": true
}
الحقلالنوعالافتراضيالوصف
emailsarray-عناوين البريد الإلكتروني للتحقق منها (مطلوب، بحد أقصى 100)
verify_smtpbooltrueإجراء التحقق من صندوق البريد عبر SMTP
Batch validate
curl -X POST https://api.mail.land/v1/validation/batch \
  -H "X-API-Key: ml_pv_Ab3Kx9mN2pQ7rT4wL8yD..." \
  -H "Content-Type: application/json" \
  -d '{
    "emails": ["[email protected]", "[email protected]", "[email protected]"],
    "verify_smtp": true
  }'

الاستجابة

استجابة التحقق الجماعي
{
  "total_count": 5,
  "processed_count": 5,
  "successful_count": 5,
  "credits_consumed": 4,
  "free_validations": 1,
  "results": [
    {
      "email": "[email protected]",
      "result": "Deliverable",
      "score": 95,
      "syntax": { "is_valid": true, "has_typo": false },
      "disposable": { "is_disposable": false },
      "role": { "is_role_account": false },
      "mx": { "has_mx": true, "records": ["mx.example.com"], "accepts_mail": true },
      "smtp": { "can_connect": true, "is_deliverable": true, "is_catch_all": false, "reachability": "safe" },
      "provider": { "name": "Unknown", "type": "unknown" },
      "cached": false,
      "verified_at": "2026-02-17T12:34:56Z"
    },
    {
      "email": "[email protected]",
      "result": "Deliverable",
      "score": 95,
      "syntax": { "is_valid": true, "has_typo": false },
      "disposable": { "is_disposable": false },
      "role": { "is_role_account": false },
      "mx": { "has_mx": true, "records": ["gmail-smtp-in.l.google.com"], "accepts_mail": true },
      "smtp": { "can_connect": true, "is_deliverable": true, "is_catch_all": false, "reachability": "safe" },
      "provider": { "name": "Gmail", "type": "consumer" },
      "cached": false,
      "verified_at": "2026-02-17T12:34:56Z"
    },
    {
      "email": "invalid@",
      "result": "Undeliverable",
      "score": 0,
      "syntax": { "is_valid": false, "has_typo": false },
      "disposable": { "is_disposable": false },
      "role": { "is_role_account": false },
      "mx": { "has_mx": false, "records": [], "accepts_mail": false },
      "smtp": null,
      "provider": { "name": "Unknown", "type": "unknown" },
      "cached": false,
      "verified_at": "2026-02-17T12:34:56Z"
    },
    {
      "email": "[email protected]",
      "result": "Undeliverable",
      "score": 10,
      "syntax": { "is_valid": true, "has_typo": false },
      "disposable": { "is_disposable": true },
      "role": { "is_role_account": false },
      "mx": { "has_mx": true, "records": ["mx.tempmail.org"], "accepts_mail": true },
      "smtp": null,
      "provider": { "name": "Unknown", "type": "unknown" },
      "cached": false,
      "verified_at": "2026-02-17T12:34:56Z"
    },
    {
      "email": "[email protected]",
      "result": "Deliverable",
      "score": 85,
      "syntax": { "is_valid": true, "has_typo": false },
      "disposable": { "is_disposable": false },
      "role": { "is_role_account": true },
      "mx": { "has_mx": true, "records": ["mx.company.com"], "accepts_mail": true },
      "smtp": { "can_connect": true, "is_deliverable": true, "is_catch_all": false, "reachability": "safe" },
      "provider": { "name": "Unknown", "type": "unknown" },
      "cached": false,
      "verified_at": "2026-02-17T12:34:56Z"
    }
  ]
}

حقول الاستجابة

الحقلالنوعالوصف
total_countintعناوين البريد الإلكتروني الفريدة في الطلب. تُزال التكرارات المطابقة تمامًا (حساسة لحالة الأحرف) قبل المعالجة وتُتحقق مرة واحدة فقط، لذا قد يكون هذا الرقم أقل من عدد العناوين المُرسَلة.
processed_countintعناوين البريد الإلكتروني التي تمت معالجتها
successful_countintعمليات التحقق التي اكتملت بدون أخطاء
credits_consumedintالأرصدة المخصومة (عمليات التحقق المدفوعة)
free_validationsintعمليات التحقق المجانية (نطاقات مؤقتة، أخطاء إملائية، أخطاء SMTP)
resultsarrayعنصر واحد لكل عنوان فريد، بترتيب أول ظهور له. طابق النتائج مع مدخلاتك عبر حقل email، وليس عبر الموضع: التكرارات في طلبك لن يكون لها عنصر مقابل.

كل عنصر في results له نفس بنية استجابة التحقق الفردي.

استهلاك الأرصدة

يتم التحقق من الأرصدة قبل معالجة الدفعة. إذا لم يكن لديك أرصدة كافية للدفعة بأكملها، يتم رفض الطلب بالحالة 402.

داخل الدفعة، تُطبَّق عمليات التحقق المجانية وفقاً لنفس القواعد المستخدمة في التحقق الفردي:

  • النطاقات المؤقتة: مجاني
  • الأخطاء الإملائية عالية الثقة (90%+)، مجاني
  • أخطاء اتصال SMTP: مجاني

توضح الاستجابة التوزيع الدقيق: credits_consumed (مُحاسَب) + free_validations (غير مُحاسَب) = processed_count.

المعالجة المتزامنة

تُنفَّذ عمليات التحقق الجماعي بمعالجة 10 عناوين بريد إلكتروني متزامنة ضمن طلب واحد. هذا يوازن بين الإنتاجية وحدود معدل خوادم SMTP. تُعاد النتائج بنفس ترتيب مصفوفة الإدخال بغض النظر عن ترتيب المعالجة.

للقوائم التي تزيد عن 100 بريد إلكتروني، قسّمها إلى عدة طلبات دفعات. ينطبق حد المعالجة المتزامنة على كل طلب: يمكنك تشغيل عدة طلبات دفعات بالتوازي من خادمك.

سجل التحقق

يتم تسجيل جميع عمليات التحقق (الفردية والجماعية) في سجل التحقق الخاص بك:

GET https://api.mail.land/v1/validation/history
المعاملالنوعالافتراضيالوصف
cursorstring-مؤشر معتم من nextCursor للصفحة السابقة. احذفه للصفحة الأولى.
limitint20عدد العناصر في الصفحة (بحد أقصى 100)
resultstring-تصفية: Deliverable أو Risky أو Unknown أو Undeliverable أو Invalid
fromdatetime-تاريخ البداية
todatetime-تاريخ النهاية
searchstring-البحث بعنوان البريد الإلكتروني
استجابة سجل التحقق
{
  "items": [
    {
      "email": "u***@example.com",
      "result": "Deliverable",
      "score": 95,
      "is_disposable": false,
      "is_role_account": false,
      "has_valid_mx": true,
      "smtp_deliverable": true,
      "provider": "Unknown",
      "was_cached": false,
      "smtp_verified": true,
      "credit_consumed": true,
      "verified_at": "2026-02-17T12:34:56Z"
    }
  ],
  "nextCursor": "eyJ2IjoxLCJzIjoidmFsaWRhdGlvbjp2ZXJpZmllZGF0OmRlc2MiLCJrIjoi...",
  "hasMore": true
}

يتم إخفاء عناوين البريد الإلكتروني جزئياً في السجل لحماية الخصوصية (مثال: u***@example.com).

إحصائيات التحقق

احصل على إحصائيات مجمّعة لاستخدام التحقق الخاص بك:

GET https://api.mail.land/v1/validation/stats
المعاملالنوعالافتراضيالوصف
fromdatetime-تاريخ البداية
todatetime-تاريخ النهاية
استجابة إحصائيات التحقق
{
  "total_validations": 450,
  "deliverable": 320,
  "risky": 65,
  "undeliverable": 50,
  "unknown": 15,
  "deliverable_rate": 71.11,
  "risky_rate": 14.44,
  "undeliverable_rate": 11.11,
  "unknown_rate": 3.33,
  "credits_consumed": 380,
  "free_validations": 70
}

الحدود

الحدالقيمة
الحد الأقصى لعناوين البريد في الدفعة100
عمليات التحقق المتزامنة لكل دفعة10
مهلة SMTP لكل بريد إلكتروني30 ثانية
الحد الأقصى لطول البريد الإلكتروني320 حرفاً

استجابات الأخطاء

الحالةالكودالوصف
400INVALID_REQUESTيجب توفير عنوان بريد إلكتروني واحد على الأقل
400CONTENT_TOO_LARGEالدفعة تتجاوز 100 بريد إلكتروني
402INSUFFICIENT_CREDITSأرصدة غير كافية للدفعة

أفضل الممارسات

  • تحقق قبل الاستيراد: قم بتشغيل التحقق الجماعي على قوائم المشتركين الجديدة قبل استيرادها لتجنب ارتفاع معدلات الارتداد.
  • صفّي حسب النتيجة: استورد فقط عناوين Deliverable. تعامل مع عناوين Risky بحذر وتجنب Undeliverable تماماً.
  • تحقق من اقتراحات الأخطاء الإملائية: عندما تكون قيمة syntax.has_typo هي true، اعرض syntax.suggestion على المستخدم للتأكيد قبل الإرسال.
  • استخدمه أثناء التسجيل: تحقق من عناوين البريد الإلكتروني في عملية التسجيل باستخدام التحقق الفردي لمنع العناوين غير الصالحة من الدخول إلى نظامك.
  • راقب استهلاك الأرصدة: تحقق من /validation/credits لتتبع الاستهلاك والتخطيط للترقيات قبل الوصول إلى حد حصتك.

الخطوات التالية

في هذه الصفحة