پرش به محتوا
دامنه

ایمیل دامنه دریافت نمی شود؛ رکورد MX ایمیل را چطور بررسی کنیم؟

۹ دقیقه مطالعه

اگر ایمیل های دامنه به صندوق نمی رسد، اول رکورد MX ایمیل را در DNS بررسی کنید. این نوشته یک چک لیست کوتاه است که علت ها را به ترتیب احتمال جلو می برد.

مسیر تحویل ایمیل از فرستنده تا میل سرور با مرحله پرسش از DNS

اگه ایمیل های دامنه ات به صندوق نمی رسه، اول ببین رکورد MX ایمیل دامنه توی DNS اصلی وجود داره و به اسم یه میل سرور سالم اشاره می کنه یا نه. این رو با dig MX یا nslookup -type=mx توی چند ثانیه می تونی چک کنی. تجربه ما اینه که بیشتر وقت ها یکی از سه اتفاق افتاده: رکورد رو توی پنل DNS اشتباهی ویرایش کردی، مقدارش غلطه، یا هنوز به سرور قدیمی اشاره می کنه. این نوشته یه چک لیسته که به ترتیب احتمال جلو می ره، تا وقتت سر علت های نادر تلف نشه.

اول مطمئن شو مشکل از MX هست

قبل از دست بردن توی DNS، نشانه ها رو از هم جدا کن. بعضی ها ساعت ها دنبال رکورد می گردن، در حالی که مشکل جای دیگه ای هست.

ارسال یا دریافت؟ اگه از ایمیل دامنه می تونی بفرستی ولی چیزی بهش نمی رسه، سراغ MX برو. اگه ارسال هم مشکل داره (مثلاً ایمیل هات به اسپم می رسن)، موضوع SPF و DKIM و اعتبار IP هست و بحثش جداست.

پیام برگشتی رو بخون. فرستنده معمولاً یه پیام Bounce می گیره. عبارت هایی مثل «Domain not found» یا «No MX» و کدهای دائمی 5.x.x معمولاً یعنی مشکل از دامنه یا DNS هست. ولی «User unknown» یعنی دامنه درسته و اون آدرس صندوق وجود نداره. متن دقیق پیام به سرویس فرستنده بستگی داره، پس کد حفظ نکن و معنی جمله رو بخون.

از بیرون تست کن. از یه ایمیل شخصی خارج از دامنه و خارج از همون سرور برای خودت بفرست. ارسال بین دو صندوق روی یه سرور ممکنه اصلاً از DNS رد نشه و گولت بزنه.

MX مثل تابلوی نشانی برای پیکه. پیک (سرور فرستنده) اول می پرسه «بسته های این شرکت رو کجا تحویل بدم؟». اگه تابلو خالی باشه یا نشانی دفتر قدیمی رو بده، بسته به دست صاحبش نمی رسه، حتی اگه دفتر جدید کاملاً سالم باشه.

مسیر تحویل ایمیل از فرستنده تا میل سرور با مرحله پرسش از DNS

بررسی رکورد MX ایمیل با dig و nslookup

به ابزار آنلاین نیازی نداری، هرچند اون ها هم کمک می کنن. توی ترمینال این ها رو بزن (به جای example.ir دامنه خودت رو بذار):

dig MX example.ir +short
nslookup -type=mx example.ir
dig NS example.ir +short

خروجی سالم یه چیزی شبیه این می شه:

10 mail.example.ir.
20 mail2.example.ir.

عدد اول اولویته و عدد کمتر زودتر امتحان می شه. بعدش نام میل سرور میاد. اگه خروجی خالی بود، یعنی رکورد MX اصلاً منتشر نشده. اگه به جای نام، عدد IP دیدی، مقدار غلطه (پایین تر توضیحش رو می خونی).

دستور سوم، یعنی dig NS، رو حتماً بزن. نشون می ده DNS واقعی دامنه دست کیه. بعدش می تونی مستقیم از همون سرور بپرسی:

dig MX example.ir @ns1.your-dns-provider.com +short

این طوری معلوم می شه «رکورد رو غلط زدی» یا «رکورد درسته ولی هنوز منتشر نشده». اگه با رکوردهای DNS هنوز راحت نیستی، رکورد DNS چیست؟ تفاوت A، CNAME، MX و TXT با مثال پایه ها رو توضیح داده.

علت ها به ترتیب احتمال

۱. رکورد رو توی پنل DNS اشتباهی ویرایش کردی

شایع ترین حالت همینه. دامنه ات ممکنه پیش ثبت کننده باشه، DNS رو Cloudflare یا یه سرویس دیگه نگه داره، و هاست هم یه پنل DNS جدا با رکوردهای شبیه به هم داشته باشه. تو رکورد رو توی پنل هاست درست کردی، ولی اون پنل اصلاً مرجع نیست.

تشخیصش آسونه: خروجی dig NS رو ببین. اگه نیم سرورها مال هاست تو نیستن، همون جایی که بهش اشاره می کنن رو ویرایش کن. برای دامنه های .ir نیم سرورها از پنل ثبت کننده تنظیم می شن و بعد از تغییرشون باید صبر کنی تا منتشر بشن. اگه تازه NS رو عوض کردی، تغییر DNS؛ چرا سایت برای بعضی کاربران باز نمی شود؟ توضیح می ده چرا نتیجه برای هر نفر فرق می کنه.

۲. مقدار رکورد غلطه

اشتباه های ریز اینجا زیادن:

  • IP به جای نام. مقدار MX باید اسم میزبان باشه (mail.example.ir)، نه عدد IP.
  • CNAME به جای نام واقعی. استانداردها اجازه نمی دن MX به نامی اشاره کنه که خودش CNAME باشه. بعضی سرورها تحملش می کنن و بعضی نه. برای همین ایمیل به دست بعضی فرستنده ها می رسه و به بقیه نه.
  • دامنه تکراری. بعضی پنل ها خودشون دامنه رو به آخر مقدار اضافه می کنن. اگه mail.example.ir رو بنویسی و نقطه آخر نذاری، ممکنه نتیجه بشه mail.example.ir.example.ir.
  • فاصله یا پیشوند اضافه. مثل http:// یا یه فاصله آخر مقدار که موقع کپی پیست جا مونده.

۳. هنوز به سرور قدیمی اشاره می کنه

وقتی هاست رو عوض می کنی، سایت منتقل می شه ولی رکورد MX معمولاً دست نخورده می مونه. نتیجه اینه که ایمیل ها هنوز به سرور قبلی می رسن، که شاید حسابت رو بسته باشه یا دیگه صندوقی روش نباشه. بدتر از اون، ممکنه صندوق ها روی سرور قدیمی جمع بشن و تو خبر نداشته باشی.

عادت خوبیه که بعد از هر مهاجرت dig MX بزنی و نتیجه رو با سرور جدید مقایسه کنی.

۴. میزبان MX رکورد A نداره (یا پشت پروکسی رفته)

نام داخل MX هم باید خودش به یه IP تبدیل بشه. اگه mail.example.ir رکورد A نداره یا به IP اشتباهی می ره، پیک نشانی رو می گیره ولی خونه رو پیدا نمی کنه. تله رایج دیگه اینه که DNS رو پشت CDN گذاشتی و رکورد mail هم پروکسی شده. اون وقت ترافیک ایمیل از CDN رد نمی شه. رکوردهای مربوط به ایمیل باید «فقط DNS» باشن. درباره حد و مرز CDN توی CDN برای سایت؛ آیا جای هاست قوی را می گیرد؟ بیشتر نوشتیم.

۵. چند MX با اولویت ناسازگار

اگه از یه سرویس ایمیل به سرویس دیگه رفتی و رکوردهای قبلی رو پاک نکردی، الان دو دسته MX داری. فرستنده ها اول سراغ عدد کوچک تر می رن. علامتش هم عجیبه: بعضی ایمیل ها می رسن، بعضی نه، و الگوی مشخصی هم ندارن. اگه سرویس جدید قرار نیست قدیمی رو پشتیبان داشته باشه، رکوردهای قدیمی رو کامل حذف کن.

۶. انتشار DNS و TTL

اگه رکورد رو همین الان عوض کردی، تا چند ساعت ممکنه بعضی resolverها نسخه قدیمی رو نگه دارن. مدتش به TTL رکورد قبلی بستگی داره. قبل از اینکه صبر کنی، از سرور اصلی (همون @ns1...) بپرس. اگه اون جواب درست داد، فقط زمان مونده.

۷. دامنه منقضی یا معلق شده

عجیبه ولی پیش میاد: وقتی مهلت دامنه تموم بشه، ممکنه همه چیزش، از جمله MX، از دسترس خارج بشه. تمدید دامنه؛ اگر مهلت آن بگذرد چه اتفاقی می افتد؟ این سناریو رو باز کرده. اگه همه رکوردها درستن و باز هم جواب نمی گیری، تاریخ انقضا رو هم نگاه کن.

۸. رکورد درسته، ولی خود سرور ایمیل نمی گیره

آخرین احتمال، نه اولین: DNS سالمه ولی سرور مقصد پورت 25 رو قبول نمی کنه، فایروال بسته ست، یا سرویس میل خاموشه. کار DNS اینجا تمومه و باید سراغ لاگ میل سرور بری.

MX رو به کجا اشاره بدی؟ مقایسه دو راه

وقتی رکورد رو درست می کنی، یه تصمیم دیگه هم هست: ایمیل رو روی خود هاست نگه می داری یا از یه سرویس ایمیل جدا استفاده می کنی؟ هر دو راه منطقی هستن:

ایمیل روی میل سرور هاستسرویس ایمیل جدا
راه اندازیساده، چون با هاست آماده می شهباید MX، SPF و DKIM رو خودت بچینی
وابستگیاگه هاست مشکل پیدا کنه، سایت و ایمیل با هم می خوابنمشکل سایت روی ایمیل اثر نمی ذاره
اعتبار IPIP معمولاً مشترکه و رفتار بقیه روی تو اثر دارهمعمولاً بهتر کنترل می شه
هزینه و مدیریتمعمولاً کمتریه هزینه و یه پنل اضافه

برای یه کسب و کار کوچک که تازه شروع کرده، ایمیل روی هاست کافیه. وقتی ایمیل برای فروش و پشتیبانی خیلی مهم شد، جدا کردنش ارزش داره.

رکورد رو درست بچین

مطمئن شو توی پنل DNS اصلی این دو رکورد رو داری (مقدارها نمونه هستن):

نوع: MX   نام: @      مقدار: mail.example.ir   اولویت: 10   TTL: 3600
نوع: A    نام: mail   مقدار: 203.0.113.10     TTL: 3600

بعد دوباره dig MX example.ir +short بزن و با یه ایمیل بیرونی تست کن. اگه چند میل سرور داری، اولویت ها رو مثل 10 و 20 بذار تا ترتیبشون مشخص باشه. هر رکورد قدیمی که دیگه کاربرد نداره رو هم حذف کن.

چک لیست تشخیص مشکل MX از بررسی نیم سرور تا تست ایمیل

پیشگیری: که دفعه بعد دوباره گیر نکنی

  • قبل از مهاجرت TTL رو کم کن. چند ساعت تا یه روز زودتر (حداقل به اندازه TTL قبلی) بذارش روی مقدار کوتاه تر تا اگه اشتباهی شد، سریع برگردی. بعد از اطمینان دوباره بالا ببرش.
  • از رکوردها خروجی بگیر. از همه رکوردهای DNS یه خروجی یا اسکرین شات نگه دار. خیلی از مشکل های بعد از مهاجرت از رکوردی میاد که کسی یادش نبوده.
  • MX قدیمی رو بعد از تست حذف کن، نه قبلش. اول مطمئن شو سرویس جدید ایمیل می گیره، بعد قدیمی رو بردار.
  • یه مانیتورینگ ساده بذار. حتی یه تست دوره ای که MX رو چک کنه و اگه خالی شد خبرت کنه، کافیه. اگه خودت وقت نداری، مانیتورینگ و پایداری برای همین کار ساخته شده.
  • انقضا رو جدی بگیر. تمدید دامنه رو روی اتوماتیک بذار یا یه یادآور برای خودت بذار. برای دامنه .ir هم تاریخ انقضا رو از قبل چک کن.

سوالات متداول

بعد از تغییر رکورد MX ایمیل چقدر طول می کشه تا درست بشه؟

به TTL رکورد قبلی بستگی داره و معمولاً از چند دقیقه تا چند ساعت طول می کشه. اگه با dig از خود نیم سرور اصلی جواب درست می گیری، تنظیم تو تمومه و فقط باید resolverهای دیگه کش قدیمی رو کنار بذارن. الکی منتظر نمون، اول مطمئن شو منبع اصلی درست جواب می ده.

می شه برای یه دامنه چند رکورد MX داشت؟

آره، و اگه سرویس ایمیلت پشتیبان داره، توصیه هم می شه. اولویت کمتر زودتر امتحان می شه. فقط مراقب باش رکوردهای سرویس قدیمی بینشون نمونده باشن، چون ایمیل رو به جای اشتباه می برن.

رکورد MX ایمیل می تونه به IP اشاره کنه؟

نه، باید به یه نام میزبان اشاره کنه و اون نام خودش رکورد A داشته باشه. بعضی سرورها شاید مقدار IP رو تحمل کنن، ولی استاندارد اجازه نمی ده و برای بعضی فرستنده ها خطا می ده.

رکورد درسته ولی ایمیل ها باز هم نمی رسن، مشکل کجاست؟

احتمالاً از خود میل سرور: پورت 25 بسته ست، سرویس خاموشه، یا صندوق پره. اینجا باید لاگ سرور ایمیل رو بخونی. اگه روی سرور خودت هستی، بخش مدیریت و امن سازی سرور بهت کمک می کنه.

جمع بندی: پنج چک، به همین ترتیب

اول ببین مشکل دریافته، نه ارسال. بعد با dig NS پیدا کن DNS واقعی کجاست. بعد MX رو بخون و مقدار و اولویتش رو با سرور فعلی مقایسه کن. بعدش چک کن میزبان MX رکورد A درستی داره. آخر سر برو سراغ انقضا، فایروال و لاگ میل سرور. اگه این ترتیب رو رعایت کنی، بیشتر مشکل ها همون دو سه مرحله اول پیدا می شن. و اگه جایی گیر کردی، پشتیبانی فنی ما هم کنارته.

  • رکورد MX
  • ایمیل دامنه
  • DNS
  • عیب یابی ایمیل
  • ایمیل سازمانی

مقاله‌های مرتبط

ادامه همین موضوع در وبلاگ.

همه مقاله‌ها
کمک فنی

برای اجرای این کار کمک می‌خواهید؟

تیم فنی Wbweb از طراحی سایت تا هاست و سرور کنار شماست؛ درخواستتان را ثبت کنید یا تیکت بزنید.