MailLandDocs
دامنه‌ها

تنظیمات DNS

پیکربندی رکوردهای SPF، DKIM و DMARC برای دامنه ارسال

پس از افزودن دامنه، رکوردهای DNS لازم برای احراز هویت ایمیل را پیکربندی کنید. MailLand به رکوردهای SPF، DKIM و DMARC نیاز دارد؛ هر سه باید پیش از امکان ارسال تأیید شوند. رکورد مسیر بازگشت (برگشتی) سفارشی بخشی از تأیید دامنه است و برای دامنه‌های جدید به‌صورت پیش‌فرض روشن است؛ ارسال را مسدود نمی‌کند و تا زمان تأیید، MailLand از Return-Path پیش‌فرض خود استفاده می‌کند. دامنهٔ ردیابی اختیاری است.

دریافت دستورالعمل‌های DNS

رکوردهای دقیق مخصوص دامنه خود را دریافت کنید:

GET https://api.mail.land/v1/domains/{id}/dns-instructions

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

Get DNS instructions
curl https://api.mail.land/v1/domains/k3v9x2m8q1w7z4/dns-instructions \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
DNS instructions response
{
  "domain": "yourdomain.com",
  "spfRecord": {
    "recordType": "TXT",
    "hostName": "@",
    "value": "v=spf1 include:spf.mlnd.net ~all",
    "status": "pending",
    "instructions": "Add this TXT record to your domain's root. If you have an existing SPF record, add 'include:spf.mlnd.net' to it instead of creating a new record."
  },
  "dkimRecord": {
    "recordType": "TXT",
    "hostName": "mlnd._domainkey",
    "value": "v=DKIM1; k=rsa; p=MIIBIjANBgkq...",
    "status": "pending",
    "instructions": "Add this TXT record with hostname 'mlnd._domainkey' to enable DKIM signing."
  },
  "dmarcRecord": {
    "recordType": "TXT",
    "hostName": "_dmarc",
    "value": "v=DMARC1; p=quarantine; pct=100; adkim=r; aspf=r; rua=mailto:[email protected]; sp=none",
    "status": "pending",
    "instructions": "Add this TXT record at the '_dmarc' subdomain to enable DMARC policy. The rua tag sends aggregate reports to a MailLand address. MailLand stores the reports for this domain for your plan's retention period and makes their DMARC pass rate, sending sources and dispositions available through the API (GET /v1/domains/{id}/dmarc/summary and /dmarc/sources). To also receive the reports yourself, add your own address to the rua tag."
  },
  "trackingRecord": {
    "recordType": "CNAME",
    "hostName": "track",
    "value": "track.mlnd.net",
    "status": "pending",
    "instructions": "Custom Tracking Links"
  },
  "bounceRecords": [
    {
      "recordType": "CNAME",
      "hostName": "bounce",
      "value": "bounce.mlnd.net",
      "status": "pending",
      "instructions": "Bounce Domain (Return-Path) DNS-only (not proxied): a proxied record hides the CNAME from mail servers."
    }
  ],
  "notes": [
    "DNS changes can take up to 48 hours to propagate globally.",
    "After adding records, click 'Verify Domain' to check the configuration.",
    "All three records (SPF, DKIM, DMARC) must be verified to start sending emails.",
    "Use your DNS provider's documentation for specific instructions on adding TXT records."
  ]
}

هر رکورد شامل یک فیلد status است که نشان می‌دهد آیا در DNS شناسایی شده است:

وضعیتتوضیح
pendingهنوز بررسی نشده
validرکورد یافت شد و درست است
invalidرکورد وجود ندارد یا نادرست است

trackingRecord فقط وقتی دامنه ردیابی سفارشی روشن باشد و bounceRecords فقط وقتی دامنه برگشتی سفارشی روشن باشد برگردانده می‌شود.

رکوردهای ردیابی و برگشتی تا زمان تأیید، pending نشان داده می‌شوند، حتی پس از یک بررسی ناموفق.

رکوردهای الزامی

SPF (چارچوب سیاست فرستنده)

SPF به سرورهای MailLand اجازه می‌دهد به نمایندگی از دامنه شما ایمیل ارسال کنند.

فیلدمقدار
نوعTXT
نامyourdomain.com (یا @)
مقدارv=spf1 include:spf.mlnd.net ~all
TTL3600

اگر از قبل یک رکورد SPF دارید، عبارت include:spf.mlnd.net را قبل از مکانیزم ~all یا -all اضافه کنید. SPF تنها یک رکورد TXT در هر دامنه مجاز است: چندین رکورد SPF باعث خطای احراز هویت می‌شوند.

مثال SPF موجود:

# Before
v=spf1 include:_spf.google.com ~all

# After
v=spf1 include:_spf.google.com include:spf.mlnd.net ~all

DKIM (ایمیل شناسایی‌شده با کلیدهای دامنه)

DKIM یک امضای رمزنگاری به هر ایمیل اضافه می‌کند و به گیرندگان اجازه می‌دهد تأیید کنند که پیام در حین انتقال تغییر نکرده است.

فیلدمقدار
نوعTXT
نامmlnd._domainkey.yourdomain.com
مقدارv=DKIM1; k=rsa; p=MIIBIjANBgkq... (کلید عمومی شما)
TTL3600

MailLand هنگام افزودن دامنه یک جفت کلید RSA 2048 بیتی تولید می‌کند. سلکتور پیش‌فرض mlnd است. مقدار کامل کلید عمومی در پاسخ دستورالعمل‌های DNS ارائه می‌شود.

کلیدهای عمومی DKIM طولانی هستند (تقریباً ۴۰۰ کاراکتر). برخی ارائه‌دهندگان DNS رکوردهای TXT را به تکه‌های ۲۵۵ کاراکتری تقسیم می‌کنند. اکثر ارائه‌دهندگان این کار را به‌طور خودکار انجام می‌دهند: اگر ارائه‌دهنده شما این کار را نمی‌کند، مقدار را در گیومه‌های دوگانه بپیچید تا ارائه‌دهنده آن را به هم متصل کند.

DMARC (الزامی)

DMARC به سرورهای ایمیل دریافت‌کننده می‌گوید هنگام شکست بررسی‌های SPF یا DKIM چه باید بکنند. DMARC الزامی است: بدون رکورد _dmarc که با v=DMARC1 شروع شود و p= داشته باشد، تأیید شکست می‌خورد.

فیلدمقدار
نوعTXT
نام_dmarc.yourdomain.com
مقداراز مقدار دقیق پاسخ dns-instructions بالا استفاده کنید (شامل نشانی گزارش‌دهی منحصربه‌فرد برای هر دامنه)
TTL3600

گزینه‌های سیاست DMARC:

سیاسترفتار
p=noneفقط نظارت: هیچ اقدامی در صورت شکست (مناسب برای راه‌اندازی اولیه)
p=quarantineارسال شکست‌ها به پوشه هرزنامه (نقطه شروع توصیه‌شده)
p=rejectمسدود کردن کامل شکست‌ها (سخت‌گیرانه‌ترین، بهترین حفاظت)

Mail.Land گزارش‌های تجمیعی DMARC دامنهٔ شما را پردازش می‌کند. مقدار پاسخ dns-instructions را همان‌طور که هست منتشر کنید. نشانی rua آن (dmarc+<id>@rpt.mail.land) گیرندهٔ گزارش‌های Mail.Land است. گزارش‌های آن دامنه یا زیردامنه‌هایش در طول دوره نگهداری پلن شما ذخیره می‌شوند و نرخ عبور DMARC، منابع ارسال و نتیجهٔ اعمال سیاست آن‌ها از راه API در دسترس است: GET /v1/domains/{id}/dmarc/summary و GET /v1/domains/{id}/dmarc/sources. هنوز صفحه‌ای در داشبورد برای آن‌ها نیست. برای اینکه گزارش‌ها را خودتان هم دریافت کنید، نشانی خودتان را به همان تگ اضافه کنید: rua=mailto:dmarc+<id>@rpt.mail.land,mailto:[email protected].

رکوردهای اختیاری

مسیر بازگشت سفارشی (دامنه برگشتی)

دامنهٔ برگشتی سفارشی بخشی از تأیید دامنه است و برای هر دامنهٔ جدید به‌صورت پیش‌فرض روشن است: MailLand ایمیل‌های شما را با Return-Path (نشانی «mailed-by») روی زیردامنه خودتان ارسال می‌کند تا SPF با دامنه شما هم‌راستا شود. یک رکورد CNAME اضافه کنید:

فیلدمقدار
نوعCNAME
نامbounce.yourdomain.com
مقدارbounce.mlnd.net
TTL3600

سرورهای ایمیل از طریق این CNAME به سرور ایمیل و رکورد SPF مربوط به MailLand می‌رسند؛ بنابراین در این نام رکورد MX یا TXT اضافه نکنید.

این رکورد باید فقط DNS (بدون پروکسی) باشد. رکورد پروکسی‌شده، مانند ابر نارنجی Cloudflare، CNAME را از سرورهای ایمیل پنهان می‌کند و تأیید ناموفق می‌شود. از رکورد MX با مقدار bounce.mlnd.net استفاده نکنید: این میزبان ایمیل دریافت نمی‌کند.

MailLand این رکورد را به‌طور منظم دوباره بررسی می‌کند. اگر رکورد حذف یا تغییر داده شود، دامنه برگشتی سفارشی دیگر تأییدشده نیست، اعلانی دریافت می‌کنید و ایمیل‌های شما تا تأیید دوبارهٔ رکورد با Return-Path پیش‌فرض MailLand ارسال می‌شوند. خاموش و دوباره روشن کردن این تنظیم نیز به تأیید دوبارهٔ رکورد نیاز دارد.

می‌توانید دامنهٔ برگشتی سفارشی را در تنظیمات دامنه خاموش کنید، اما فقط پس از تأیید یک هشدار: دامنه آن‌گاه زیر envelope برگشتی مشترک MailLand ارسال می‌کند، SPF با دامنهٔ شما هم‌راستا نیست و اعتبار envelope با فرستنده‌های دیگر مشترک است. دامنه‌هایی که آن را خاموش کرده‌اند برای اپراتورهای MailLand علامت‌گذاری می‌شوند. دامنه‌هایی که پیش از پیش‌فرض شدن این گزینه ساخته شده‌اند تنظیم فعلی خود را حفظ می‌کنند؛ برای داشتن این رکورد آن را در تنظیمات دامنه روشن کنید.

CNAME ردیابی

اگر از یک زیردامنه ردیابی سفارشی استفاده می‌کنید، یک CNAME اضافه کنید:

فیلدمقدار
نوعCNAME
نامtrack.yourdomain.com
مقدارtrack.mlnd.net
TTL3600

این رکورد باید فقط DNS (بدون پروکسی) باشد. رکورد پروکسی‌شده، مانند ابر نارنجی Cloudflare، با گواهی دیگری پاسخ می‌دهد و لینک‌های ردیابی و لینک لغو اشتراک از کار می‌افتند. پس از تأیید CNAME، MailLand گواهی HTTPS را درخواست می‌کند و HTTPS را روی این میزبان بررسی می‌کند. لینک‌ها تا پیش از موفقیت این بررسی از میزبان ردیابی پیش‌فرض MailLand استفاده می‌کنند؛ اگر این بررسی همچنان ناموفق بماند، به شما اطلاع داده می‌شود. CNAME هر ساعت دوباره بررسی می‌شود. از طریق API، useCustomBounce: false را همراه با acknowledgeSharedBounceRisk: true بفرستید؛ بدون آن درخواست با BOUNCE_OPT_OUT_NOT_ACKNOWLEDGED رد می‌شود.

MX ورودی

اگر از پردازش ایمیل ورودی استفاده می‌کنید:

فیلدمقدار
نوعMX
نامبه‌طور پیش‌فرض ریشهٔ دامنه (@)، یا زیردامنهٔ inboundSubdomain شما (برای مثال in) اگر آن را در تنظیمات دامنه تنظیم کرده باشید. زیردامنه، ارائه‌دهندهٔ صندوق پستی فعلی شما را روی ریشه حفظ می‌کند؛ ایمیل به هر دوی زیردامنه و ریشه پذیرفته می‌شود.
مقدارmx.mlnd.net
اولویت10
TTL3600

راهنماهای ارائه‌دهنده DNS

  1. به داشبورد Cloudflare وارد شوید
  2. دامنه خود را انتخاب کنید
  3. به DNS → Records بروید
  4. برای هر رکورد روی Add Record کلیک کنید
  5. برای رکوردهای TXT، وضعیت پروکسی را روی DNS only (ابر خاکستری) تنظیم کنید
  6. برای رکوردهای CNAME، وضعیت پروکسی را روی DNS only تنظیم کنید: CNAMEهای پروکسی‌شده می‌توانند با احراز هویت ایمیل تداخل داشته باشند

بررسی رکوردهای DNS

پس از افزودن رکوردها، تأیید کنید که منتشر شده‌اند:

GET https://api.mail.land/v1/domains/{id}/dns-records
Check DNS records
curl https://api.mail.land/v1/domains/k3v9x2m8q1w7z4/dns-records \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
DNS records response
{
  "domain": "yourdomain.com",
  "spfRecord": {
    "recordType": "TXT",
    "hostName": "@",
    "value": "v=spf1 include:spf.mlnd.net ~all",
    "status": "valid",
    "instructions": "Add this TXT record to your domain's root. If you have an existing SPF record, add 'include:spf.mlnd.net' to it instead of creating a new record."
  },
  "dkimRecord": {
    "recordType": "TXT",
    "hostName": "mlnd._domainkey",
    "value": "v=DKIM1; k=rsa; p=MIIBIjANBgkq...",
    "status": "valid",
    "instructions": "Add this TXT record with hostname 'mlnd._domainkey' to enable DKIM signing."
  },
  "dmarcRecord": {
    "recordType": "TXT",
    "hostName": "_dmarc",
    "value": "v=DMARC1; p=quarantine; pct=100; adkim=r; aspf=r; rua=mailto:[email protected]; sp=none",
    "status": "valid",
    "instructions": "Add this TXT record at the '_dmarc' subdomain to enable DMARC policy. The rua tag sends aggregate reports to a MailLand address. MailLand stores the reports for this domain for your plan's retention period and makes their DMARC pass rate, sending sources and dispositions available through the API (GET /v1/domains/{id}/dmarc/summary and /dmarc/sources). To also receive the reports yourself, add your own address to the rua tag."
  },
  "trackingRecord": {
    "recordType": "CNAME",
    "hostName": "track",
    "value": "track.mlnd.net",
    "status": "valid",
    "instructions": "Custom Tracking Links"
  },
  "bounceRecords": [
    {
      "recordType": "CNAME",
      "hostName": "bounce",
      "value": "bounce.mlnd.net",
      "status": "valid",
      "instructions": "Bounce Domain (Return-Path) DNS-only (not proxied): a proxied record hides the CNAME from mail servers."
    }
  ],
  "notes": [
    "DNS changes can take up to 48 hours to propagate globally.",
    "After adding records, click 'Verify Domain' to check the configuration.",
    "All three records (SPF, DKIM, DMARC) must be verified to start sending emails.",
    "Use your DNS provider's documentation for specific instructions on adding TXT records."
  ]
}

انتشار DNS ممکن است از چند دقیقه تا ۴۸ ساعت طول بکشد، بسته به ارائه‌دهنده DNS و TTL رکوردهای موجود. اکثر ارائه‌دهندگان ظرف ۵ تا ۱۵ دقیقه انتشار می‌دهند.

مراحل بعدی

در این صفحه