MailLandDocs
قابلیت تحویل

مرور کلی قابلیت تحویل

نظارت بر شهرت فرستنده، نرخ‌های تحویل و سلامت DNS در تمام دامنه‌های شما

MailLand شهرت فرستنده شما را از طریق یک امتیاز ترکیبی، روندهای تحویل، تجزیه‌وتحلیل بر اساس ارائه‌دهنده و نظارت بر سلامت DNS دنبال می‌کند. از API قابلیت تحویل برای نمایش این معیارها در داشبوردهای خود یا ایجاد هشدار هنگام کاهش شهرت استفاده کنید.

امتیاز فرستنده

یک امتیاز شهرت بین ۰ تا ۱۰۰ دریافت کنید که به چهار مؤلفه وزن‌دار تقسیم می‌شود:

GET https://api.mail.land/v1/deliverability/score

با Authorization: Bearer <token> یا X-API-Key: <api key> احراز هویت کنید.

Get sender score
curl https://api.mail.land/v1/deliverability/score \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
Sender score response
{
  "totalScore": 87,
  "label": "Good",
  "hasSufficientData": true,
  "totalSentLast30Days": 142500,
  "dnsScore": {
    "name": "DNS Authentication",
    "score": 25,
    "maxScore": 25,
    "detail": "2/2 domains fully authenticated"
  },
  "bounceScore": {
    "name": "Bounce Rate",
    "score": 20,
    "maxScore": 25,
    "detail": "Bounce rate: 1.80%"
  },
  "complaintScore": {
    "name": "Complaint Rate",
    "score": 25,
    "maxScore": 25,
    "detail": "Complaint rate: 0.020%"
  },
  "engagementScore": {
    "name": "Engagement",
    "score": 25,
    "maxScore": 25,
    "detail": "Open rate: 32.0%"
  },
  "calculatedAt": "2026-02-17T12:00:00Z"
}

هر مؤلفه تا ۲۵ امتیاز دارد. اگر در ۳۰ روز گذشته کمتر از ۱۰۰ ایمیل ارسال کرده باشید، hasSufficientData برابر false خواهد بود. با این حال totalScore همچنان محاسبه می‌شود، اما در این حجم معنادار نیست: وقتی هیچ ارسالی صورت نگرفته باشد، هر دو مؤلفهٔ نرخ برگشت و شکایت امتیاز کامل (۲۵) می‌گیرند، پس یک حساب کاملاً تازه پیش از ارسال حتی یک ایمیل هم می‌تواند تا ۷۵ امتیاز نشان دهد.

تاریخچه امتیاز

تغییرات امتیاز خود را در طول زمان دنبال کنید:

GET https://api.mail.land/v1/deliverability/score/history?days=30
Get score history
curl "https://api.mail.land/v1/deliverability/score/history?days=30" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
پارامترنوعپیش‌فرضتوضیحات
daysint30بازه تاریخچه (۷ تا ۹۰)
Score history response
[
  {
    "date": "2026-02-17",
    "totalScore": 87,
    "label": "Good",
    "dnsScore": 25,
    "bounceScore": 22,
    "complaintScore": 25,
    "engagementScore": 15,
    "bounceRate": 0.8,
    "complaintRate": 0.02,
    "openRate": 32.0,
    "deliveryRate": 98.5,
    "totalSent": 4750,
    "hasSufficientData": true
  }
]

آمار کلی قابلیت تحویل

معیارهای تحویل تجمیعی برای یک دوره زمانی دریافت کنید:

GET https://api.mail.land/v1/deliverability/overview?days=30
Get deliverability overview
curl "https://api.mail.land/v1/deliverability/overview?days=30" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
پارامترنوعپیش‌فرضتوضیحات
daysint30بازه زمانی (به ۷، ۳۰ یا ۹۰ نرمال می‌شود)
Overview response
{
  "totalSent": 142500,
  "totalDelivered": 140325,
  "totalBounced": 1125,
  "totalComplained": 28,
  "totalOpened": 44878,
  "totalClicked": 5843,
  "totalUnsubscribed": 312,
  "deliveryRate": 98.47,
  "bounceRate": 0.79,
  "complaintRate": 0.02,
  "openRate": 31.49,
  "clickRate": 4.1,
  "unsubscribeRate": 0.22
}

روندهای روزانه

معیارهای تحویل روزانه را برای تجسم روندها دریافت کنید:

GET https://api.mail.land/v1/deliverability/trends?days=30
Get daily trends
curl "https://api.mail.land/v1/deliverability/trends?days=30" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
Trends response (abbreviated)
[
  {
    "date": "2026-02-17T00:00:00Z",
    "sent": 4750,
    "delivered": 4680,
    "bounced": 38,
    "complained": 1,
    "opened": 1498,
    "deliveryRate": 98.53,
    "bounceRate": 0.8,
    "complaintRate": 0.02,
    "openRate": 31.53
  }
]

تجزیه‌وتحلیل بر اساس ارائه‌دهنده

معیارهای قابلیت تحویل را بر اساس ارائه‌دهنده صندوق پستی گیرنده (Gmail، Yahoo، Outlook و غیره) مشاهده کنید:

GET https://api.mail.land/v1/deliverability/providers?days=30&limit=10
Get provider breakdown
curl "https://api.mail.land/v1/deliverability/providers?days=30&limit=10" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
پارامترنوعپیش‌فرضتوضیحات
daysint30بازه زمانی (به ۷، ۳۰ یا ۹۰ نرمال می‌شود)
limitint10حداکثر تعداد ارائه‌دهندگان (۱ تا ۵۰)
Provider breakdown response
[
  {
    "domain": "gmail.com",
    "sent": 58200,
    "delivered": 57800,
    "bounced": 210,
    "opened": 19500,
    "clicked": 2540,
    "complained": 8,
    "deliveryRate": 99.31,
    "openRate": 33.51,
    "bounceRate": 0.36
  },
  {
    "domain": "outlook.com",
    "sent": 31400,
    "delivered": 30800,
    "bounced": 350,
    "opened": 8650,
    "clicked": 1120,
    "complained": 12,
    "deliveryRate": 98.09,
    "openRate": 27.55,
    "bounceRate": 1.11
  }
]

تجزیه‌وتحلیل برگشتی

برگشتی‌ها را بر اساس نوع و دلیل مشاهده کنید:

GET https://api.mail.land/v1/deliverability/bounce-breakdown?days=30
Get bounce breakdown
curl "https://api.mail.land/v1/deliverability/bounce-breakdown?days=30" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
Bounce breakdown response
{
  "hardBounces": 450,
  "softBounces": 625,
  "blockedBounces": 40,
  "unknownBounces": 10,
  "totalBounces": 1125,
  "topReasons": [
    { "reason": "InvalidRecipient", "count": 380 },
    { "reason": "QuotaIssues", "count": 290 },
    { "reason": "SpamBlock", "count": 40 },
    { "reason": "BadDomain", "count": 70 },
    { "reason": "PolicyRelated", "count": 95 },
    { "reason": "TransientFailure", "count": 55 }
  ]
}

«topReasons» از نام‌های طبقه‌بندی خودِ MTA استفاده می‌کند (برای واژگان کامل به برگشتی‌ها مراجعه کنید)، نه دسته‌های snake_case مبتنی‌بر کلیدواژه‌ای که نقاط پایانی برگشتی تراکنشی به‌کار می‌برند.

برای جزئیات کامل دسته‌بندی برگشتی و رفتار مدیریتی، به برگشتی‌ها مراجعه کنید.

وضعیت DNS

وضعیت احراز هویت DNS را در تمام دامنه‌های خود بررسی کنید:

GET https://api.mail.land/v1/deliverability/dns-status
Get DNS status
curl https://api.mail.land/v1/deliverability/dns-status \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
DNS status response
[
  {
    "domainId": "k3v9x2m8q1w7z4",
    "domainName": "yourdomain.com",
    "spfStatus": "Valid",
    "dkimStatus": "Valid",
    "dmarcStatus": "Valid",
    "lastCheckedAt": "2026-02-17T10:00:00Z",
    "isFullyAuthenticated": true
  },
  {
    "domainId": "n7p2q9x4m8w1z3",
    "domainName": "notifications.yourdomain.com",
    "spfStatus": "Valid",
    "dkimStatus": "Valid",
    "dmarcStatus": "Invalid",
    "lastCheckedAt": "2026-02-17T10:00:00Z",
    "isFullyAuthenticated": false
  }
]

یک دامنه تنها زمانی isFullyAuthenticated است که SPF، DKIM و DMARC همگی Valid باشند.

وضعیتتوضیحات
Pendingرکورد هنوز بررسی نشده است
Validرکورد به‌درستی پیکربندی شده است
Invalidرکورد وجود ندارد یا اشتباه پیکربندی شده است

توصیه‌ها

توصیه‌های عملی برای بهبود شهرت فرستنده دریافت کنید:

GET https://api.mail.land/v1/deliverability/recommendations
Get recommendations
curl https://api.mail.land/v1/deliverability/recommendations \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
Recommendations response
[
  {
    "id": "dns_dmarc_missing_notifications.yourdomain.com",
    "category": "dns",
    "severity": "critical",
    "titleKey": "deliverability.recommendations.dns.dmarcMissing.title",
    "descriptionKey": "deliverability.recommendations.dns.dmarcMissing.description",
    "actionUrl": "/domains",
    "impact": 8,
    "parameters": {
      "domain": "notifications.yourdomain.com"
    }
  },
  {
    "id": "bounce_high",
    "category": "bounce",
    "severity": "warning",
    "titleKey": "deliverability.recommendations.bounce.high.title",
    "descriptionKey": "deliverability.recommendations.bounce.high.description",
    "actionUrl": "/deliverability",
    "impact": 15
  }
]
فیلدنوعتوضیحات
idstringشناسهٔ توصیه. یک enum ثابت نیست: شناسه‌های DNS نام دامنه را در خود دارند (مثلاً dns_dmarc_missing_{domain})، پس همان مشکل روی دو دامنه دو شناسهٔ متفاوت می‌سازد.
categorystringdns، bounce، complaint، engagement، warmup یا volume
severitystringcritical، warning یا info
impactintبهبود احتمالی امتیاز (۰ تا ۱۰۰) در صورت رفع
actionUrlstringمسیر فرانت‌اند برای رسیدگی به مشکل: یکی از /domains، /deliverability، /suppression-lists، /analytics یا /dashboard
parametersobjectمقادیر برای درج در i18n. فقط در توصیه‌های DNS وجود دارد (به شکل {"domain": "..."})؛ توصیه‌های نرخ برگشت، شکایت، تعامل، گرم‌کردن و حجم فیلد parameters ندارند.

حداکثر ۱۰ توصیه برگردانده می‌شود، ابتدا بر اساس شدت (بحرانی در ابتدا) و سپس بر اساس تأثیر به‌ترتیب نزولی مرتب‌شده.

کش‌گذاری

تمام نقاط انتهایی قابلیت تحویل برای کاهش بار کوئری روی ClickHouse در سمت سرور کش می‌شوند:

نقطه انتهاییمدت کش
/score۱۵ دقیقه
/overview۵ دقیقه
/trends۳ دقیقه
/providers۵ دقیقه
/bounce-breakdown۵ دقیقه
/score/historyکش نمی‌شود
/dns-statusکش نمی‌شود (بلادرنگ)
/recommendations۱۰ دقیقه

پارامتر days به ۷، ۳۰ یا ۹۰ نرمال می‌شود: مقادیر ≤۷ به ۷ گرد می‌شوند، ۸ تا ۳۰ به ۳۰ گرد می‌شوند و هر مقدار بیش از ۳۰ به ۹۰ گرد می‌شود. مقداری مانند 14 به ۳۰ گرد می‌شود، نه ۷.

مراحل بعدی

در این صفحه