اعتبارسنجی ایمیل تکی
اعتبارسنجی آدرسهای ایمیل به صورت لحظهای با بررسی نحو، دامنه و SMTP
قبل از ارسال، آدرس ایمیل را به صورت لحظهای اعتبارسنجی کنید. MailLand یک خط لوله اعتبارسنجی 5 لایهای اجرا میکند: بررسی نحو، تشخیص اشتباه تایپی، تشخیص دامنه یکبار مصرف، تشخیص حساب نقشمحور و تایید SMTP.
احراز هویت
کلید API خود را در هدر X-API-Key قرار دهید:
X-API-Key: ml_pv_Ab3Kx9mN2pQ7rT4wL8yD...اعتبارنامه باید یک اعتبارنامهٔ محصول Validation باشد که کانال Api در آن فعال است.
اعتبارسنجی یک ایمیل
POST https://api.mail.land/v1/validation/email{
"email": "[email protected]",
"verify_smtp": true
}| فیلد | نوع | پیشفرض | توضیحات |
|---|---|---|---|
email | string | - | آدرس ایمیل برای اعتبارسنجی (الزامی) |
verify_smtp | bool | true | انجام تایید صندوق پستی SMTP |
curl -X POST https://api.mail.land/v1/validation/email \
-H "X-API-Key: ml_pv_Ab3Kx9mN2pQ7rT4wL8yD..." \
-H "Content-Type: application/json" \
-d '{ "email": "[email protected]", "verify_smtp": true }'پاسخ
{
"email": "[email protected]",
"result": "Deliverable",
"score": 95,
"syntax": {
"is_valid": true,
"suggestion": null,
"domain": "example.com",
"local_part": "user",
"has_typo": false,
"typo_type": null,
"typo_confidence": null
},
"disposable": {
"is_disposable": false
},
"role": {
"is_role_account": false
},
"mx": {
"has_mx": true,
"records": ["mx1.example.com", "mx2.example.com"],
"accepts_mail": true
},
"smtp": {
"can_connect": true,
"is_deliverable": true,
"is_catch_all": false,
"has_full_inbox": false,
"is_disabled": false,
"reachability": "safe",
"error_type": null,
"error_message": null
},
"provider": {
"name": "Unknown",
"type": "unknown"
},
"cached": false,
"verified_at": "2026-02-17T12:34:56Z"
}انواع نتایج
| نتیجه | بازه امتیاز | توضیحات |
|---|---|---|
Deliverable | 80–95 | آدرس معتبر، قابلیت تحویل توسط SMTP تایید شده |
Risky | 45–70 | ممکن است قابل تحویل باشد اما دارای عوامل خطر است (catch-all، حساب نقشمحور، صندوق پر) |
Unknown | 30–50 | امکان تعیین وضعیت وجود ندارد (وقفه SMTP، خرابی اتصال) |
Undeliverable | 0–25 | قابل تحویل نیست (یکبار مصرف، بدون MX، صندوق پستی غیرفعال؛ نحو نامعتبر = 0) |
Invalid | 5 (ثابت) | اشتباه تایپی دامنه با ضریب اطمینان بالا (≥90%)؛ به syntax.suggestion نگاه کنید |
تنظیمات امتیاز
امتیاز پایه بر اساس عوامل خطر تنظیم میشود:
| عامل | تنظیم |
|---|---|
| حساب نقشمحور (info@، admin@ و غیره) | -10 |
| سرور catch-all | -5 |
خط لوله اعتبارسنجی
MailLand هر ایمیل را از 5 لایه عبور میدهد:
اعتبارسنجی نحو
بررسی مطابقت با RFC 5322: فرمت معتبر، بخش محلی (حداکثر 64 کاراکتر)، دامنه (حداکثر 255 کاراکتر)، طول کل (حداکثر 320 کاراکتر). همچنین اشتباهات تایپی رایج دامنه را تشخیص میدهد.
بررسی دامنه یکبار مصرف
دامنه را در پایگاه داده ارائهدهندگان ایمیل موقت/یکبار مصرف شناخته شده بررسی میکند. آدرسهای یکبار مصرف بلافاصله به عنوان Undeliverable علامتگذاری میشوند.
بررسی حساب نقشمحور
آدرسهای نقشمحور مانند info@، admin@، support@، postmaster@ را تشخیص میدهد. حسابهای نقشمحور به عنوان غیرقابل تحویل علامتگذاری نمیشوند اما امتیاز اطمینان را کاهش میدهند.
اعتبارسنجی رکورد MX
رکوردهای MX دامنه را جستجو میکند. اگر هیچ رکورد MX و هیچ رکورد A وجود نداشته باشد، ایمیل به عنوان Undeliverable علامتگذاری میشود.
تایید SMTP
به سرور ایمیل متصل شده و بررسی میکند که آیا صندوق پستی وجود دارد. این مرحله در صورتی که verify_smtp برابر false باشد، نادیده گرفته میشود.
تشخیص اشتباه تایپی
MailLand از تشخیص اشتباه تایپی 3 لایهای برای خطاهای رایج دامنه استفاده میکند:
| لایه | روش | مثال |
|---|---|---|
| تطبیق دقیق | پایگاه داده اشتباهات تایپی شناخته شده | gmial.com → gmail.com |
| تصحیح TLD | انواع دامنه سطح بالا | gmail.co → gmail.com |
| فاصله Levenshtein | تطبیق فازی (حداکثر فاصله: 2) | gmal.com → gmail.com |
وقتی اشتباه تایپی تشخیص داده شود، فیلد syntax.suggestion حاوی آدرس تصحیح شده است:
{
"email": "[email protected]",
"result": "Invalid",
"score": 5,
"syntax": {
"is_valid": true,
"suggestion": "[email protected]",
"domain": "gmial.com",
"local_part": "user",
"has_typo": true,
"typo_type": "levenshtein",
"typo_confidence": 95
}
}اشتباهات تایپی با اطمینان بالا (بیش از 90% اطمینان) در ابتدای خط لوله میانبر زده میشوند: هیچ بررسی SMTP انجام نمیشود و هیچ اعتباری مصرف نمیشود.
تشخیص ارائهدهنده
MailLand ارائهدهنده ایمیل را از نامهای دامنه و رکوردهای MX شناسایی میکند:
| ارائهدهنده | نوع | روش تشخیص |
|---|---|---|
| Gmail | consumer | تطبیق دامنه |
| Outlook / Hotmail / Live | consumer | تطبیق دامنه |
| Yahoo | consumer | تطبیق دامنه |
| iCloud | consumer | تطبیق دامنه |
| ProtonMail | consumer | تطبیق دامنه |
| Google Workspace | business | رکوردهای MX (aspmx) |
| Microsoft 365 | business | رکوردهای MX (outlook.com) |
| Zoho | business | رکوردهای MX |
| Mimecast | business | رکوردهای MX |
| Proofpoint | business | رکوردهای MX |
جزئیات بررسی SMTP
شیء smtp حاوی نتایج تفصیلی تایید SMTP است:
| فیلد | نوع | توضیحات |
|---|---|---|
can_connect | bool | اتصال موفق به سرور SMTP |
is_deliverable | bool | به نظر میرسد صندوق پستی وجود دارد |
is_catch_all | bool | سرور تمام آدرسها را قبول میکند (اطمینان را کاهش میدهد) |
has_full_inbox | bool | صندوق پستی پر است (نتیجه: Risky) |
is_disabled | bool | صندوق پستی غیرفعال است (نتیجه: Undeliverable) |
reachability | string | حکم: safe، risky، invalid یا unknown |
error_type | string | نوع خطا در صورت شکست بررسی SMTP |
error_message | string | پیام خطای تفصیلی |
انواع خطاهای SMTP
| نوع خطا | توضیحات |
|---|---|
Timeout | وقفه اتصال SMTP |
ConnectionFailed | عدم امکان اتصال به سرور |
Blacklisted | IP اعتبارسنجی توسط سرور مسدود شده |
Socks5 | خطای پروکسی |
AsyncSmtpError | خطای پروتکل SMTP |
Cancelled | درخواست لغو شد |
UnexpectedError | خطای غیرمنتظره |
اعتبارها
هر اعتبارسنجی یک اعتبار از سهمیه ماهانه شما مصرف میکند. برخی اعتبارسنجیها رایگان هستند (بدون مصرف اعتبار):
| شرایط | رایگان |
|---|---|
| دامنههای ایمیل یکبار مصرف | بله |
| اشتباهات تایپی دامنه با اطمینان بالا (بیش از 90%) | بله |
| خطاهای SMTP (وقفه، خرابی اتصال، مسدود شده) | بله |
| عدم امکان اتصال SMTP با نتیجه نامشخص | بله |
| نتایج کش شده | خیر (اعتبار در بررسی اول مصرف شده) |
بررسی موجودی اعتبار:
GET https://api.mail.land/v1/validation/credits{
"monthly_quota": 1000,
"used": 450,
"remaining": 550,
"resets_at": "2026-03-01T00:00:00Z"
}اعتبارها به صورت خودکار در اولین روز هر ماه (UTC) بازنشانی میشوند.
کشگذاری
نتایج اعتبارسنجی در Redis کش میشوند تا از بررسیهای تکراری جلوگیری شود:
| نوع نتیجه | مدت زمان کش |
|---|---|
| Deliverable | 48 ساعت |
| Risky | 24 ساعت |
| Undeliverable | 24 ساعت |
| Unknown | 6 ساعت |
پاسخهای کش شده دارای cached: true در پاسخ هستند. اعتبار اصلی هنگام محاسبه اولیه نتیجه مصرف شده است.
پاسخهای خطا
| وضعیت | کد | توضیحات |
|---|---|---|
400 | INVALID_REQUEST | بدنه درخواست ناموجود یا نامعتبر |
400 | INVALID_EMAIL_FORMAT | آدرس ایمیل الزامی است |
402 | INSUFFICIENT_CREDITS | سهمیه ماهانه اعتبارسنجی تمام شده |
مراحل بعدی
- اعتبارسنجی دستهای: اعتبارسنجی لیستهای ایمیل به صورت انبوه
- لیستهای توقف: مدیریت لیستهای توقف
- REST API: ارسال ایمیل به آدرسهای اعتبارسنجی شده