تا حالا برایتان پیش آمده است که برای کسی ایمیل بفرستید، اما با دیدن پیغام «ایمیل تحویل داده نشد» حالتان گرفته شود و برنامههایتان به هم بریزد؟ در بیشتر مواقع، مشکل از MX Record (رکورد تبادل ایمیل) است.
نگران نباشید؛ برای درک MX Record لازم نیست متخصص شبکه باشید. خیلی ساده و کوتاه: MX Record یا Mail Exchanger Record، نوعی رکورد DNS است که مشخص میکند ایمیلهای ارسالی به یک دامنه، باید توسط کدام سرور ایمیل (Mail Server) دریافت و مدیریت شوند.
در این مقاله با هم بررسی میکنیم که MX Record چیست، چطور کار میکند، چه تفاوتی با A Record دارد و چطور میتوان رکورد MX یک دامنه را چک و پیکربندی کرد.
MX Record چیست؟
MX Record (مخفف Mail Exchanger Record) یکی از رکوردهای اصلی DNS است که مشخص میکند ایمیلهای ارسالی به یک دامنه، باید به کدام سرور ایمیل (Mail Server) هدایت شوند. به عبارت دیگر، این رکورد مشخص میکند ایمیلهای دامنه شما توسط چه سروری دریافت و مدیریت میشوند.
برای درک بهتر این مفهوم، بیایید با یک مثال پیش برویم: فرض کنید یک فروشگاه اینترنتی با دامنه example.com دارید و برای پشتیبانی، ایمیل [email protected] را ساختهاید. وقتی مشتری به این آدرس ایمیلی میزند، سرورِ فرستنده برای اینکه بداند این ایمیل را به کدام سرور باید تحویل دهد، به سراغ «رکورد MX» میرود. در واقع، MX Record مانند یک تابلوی راهنما به سرورهای جهانی اعلام میکند که مقصد نهایی ایمیلهای این دامنه، فلان سرور است.
MX Record چطور کار میکند؟
فرض کنید کاربری میخواهد برای [email protected] ایمیل بفرستد. سرور ایمیل فرستنده برای ارسال این پیام، ۴ مرحله زیر را طی میکند:
۱. مشخص کردن دامنه مقصد
سرور فرستنده با بررسی آدرس [email protected] متوجه میشود که دامنه مقصد، example.com است.
۲. استعلام رکوردهای MX از DNS
سرور فرستنده از سامانه DNS میپرسد: «رکوردهای MX برای دامنه example.com چیست و ایمیلها باید به کدام Mail Server تحویل داده شوند؟»
۳. بررسی اولویت سرورها (Priority)
اگر چند MX Record برای دامنه ثبت شده باشد، مقدار Priority تعیینکننده است. (نکته مهم: هرچه عدد Priority کمتر باشد، اولویت آن سرور بالاتر است.)
۴. برقراری ارتباط و تحویل ایمیل
سرور فرستنده تلاش میکند ایمیل را به سروری که بالاترین اولویت (کمترین عدد) را دارد تحویل دهد. اگر آن سرور در دسترس نباشد، پیام به سرور اولویت بعدی ارسال میشود.
یک مسیر نمونه برای درک بهتر:
> آدرس مقصد ([email protected])🚨 نکته مهم: جابجایی ایمیلها کار MX Record نیست؛ بلکه MX فقط مشخص میکند ایمیل باید برای تحویل به کدام Mail Server ارسال شود. پس انتقال ایمیلها کار کیست؟ پروتکلها و سرویسهای ایمیل!
> استعلام از DNS
> شناسایی MX Record (mail1.example.com)
> تحویل ایمیل به Mail Server
> نشستن ایمیل در صندوق صندوق کاربر
| ⭐ محتوای مرتبط: آموزش گامبهگام تنظیمات سرور ایمیل (در دایرکت ادمین و سیپنل) |
ساختار MX رکورد
با ورود به پنل مدیریت DNS، قسمتهای گوناگونی مانند Type، Name، Priority و Value، اما فعلا کاری به آنها نداشته باشید؛ زیرا برای درک MX Record شناخت دو فیلد کافی است:
۱. Priority؛ اولویت سرور
Priority یا Preference مشخص میکند کدام Mail Server در اولویت قرار دارد؛ مثلاً:
| Type | Priority | Mail Server |
| MX | 10 | mail1.example.com |
| MX | 20 | mail2.example.com |
در این مثال، عدد ۱۰ از ۲۰ کمتر است؛ بنابراین mail1.example.com اولویت بالاتری دارد.
پس قضیه بسیار ساده است:
در MX Record، هرچه عدد Priority کمتر باشد، اولویت بیشتر است. البته حواستان باشد که منظورمان از اولویت، بهتر بودن فلان سرور نیست! بلکه این شاخصه صرفا ترتیب استفاده از سرورها را مشخص میکند.
🧐سوال: آیا ممکن است Priority دو سرور برابر باشد؟
بله، اگر اعداد دو سرور برابر باشند، یعنی اولیت یکسانی دارند و سرور فرستنده بین آنها حق انتخاب دارد. کاربرد این روش در طراحی سرویسهایی با چند سرور و توزیع بار نمایان میشود. البته نکته اینجاست که Priority یا اولویت برابر، به معنای تقسیم دقیق و همیشگی ترافیک نیست و نحوه انتخاب سرور به پیادهسازی فرستنده و شرایط شبکه هم بستگی دارد.
۲. Mail Server؛ آدرس سرور ایمیل
این قسمت مشخص میکند ایمیل باید به چه سروری تحویل داده شود. حواستان باشد که Mail Server باید نام دامنه یا Hostname (مانند mail.example.com) باشد و آدرس IP (مانند 192.168.1.10) قابل قبول نیست.
ممکن است چند MX Record داشته باشیم؟
در بسیاری از زیرساختها، چند MX Record برای یک دامنه تعریف میشود تا اگر یکی از سرورها دم دست نبود، گزینه دیگری برای تحویل ایمیل وجود داشته باشد.
مثلاً فرض کنید یک شرکت دو Mail Server دارد:
MX 10 mail1.example.com
MX 20 mail2.example.com
در این مثال، mail1.example.com به دلیل داشتن Priority پایینتر (10) در اولویت قرار دارد. اگر سرور اول نتواند ایمیل را دریافت کند، سرور فرستنده میتواند سراغ mail2.example.com برود. در اینجا سرور دوم به عنوان مسیر جایگزین عمل میکند تا فرآیند دریافت ایمیل متوقف نشود.
تفاوت MX Record و A Record چیست؟
اگر از آن آدمهای کنجکاو باشید که مو را از ماست بیرون میکشند، احتمالا فکر میکنید که:
«خب، A Record هم یک دامنه را به آدرس سرور وصل میکند؛ پس MX Record دقیقاً چه کاری انجام میدهد؟»
در پاسخ باید گفت، A Record یک نام دامنه یا Hostname را به یک آدرس IPv4 متصل میکند. مثلاً:
example.com → 192.0.2.10
اما MX Record مشخص میکند ایمیلهای یک دامنه باید به کدام Mail Server تحویل داده شوند:
example.com → mail.example.com
حالا Mail Server مشخص شد و نام آن با رکوردهای A یا AAAA به آدرس IP سرور تبدیل میشود؛ یعنی MX خودش مستقیماً به IP اشاره نمیکند، بلکه کار آن مشخص کردن نام سرور ایمیل مقصد است.
شاید این مطلب کمی پیچیده به نظر برسد، پس مثال زیر را در ذهن داشته باشید. شرکت فرضیمان را در نظر بگیرید که هم دفتر دارد و هم سیستم دریافت نامه:
- 🏢 A Record: آدرس IP مربوط به یک Hostname را مشخص میکند.
- 📬 MX Record: مشخص میکند ایمیلهای دامنه باید به کدام Mail Server تحویل داده شوند.
بنابراین کاملاً طبیعی است که سایت شما روی یک سرور باشد، اما سرویس ایمیلتان روی سرور دیگری قرار داشته باشد. این دو سرویس میتوانند با DNS به مقصدهای متفاوتی هدایت شوند.
| ⭐ محتوای مرتبط: نحوه بررسی تنظیمات DNS با سایت intodns |
آیا بدون MX Record هم میتوان ایمیل دریافت کرد؟
شاید شنیده باشید که:«اگر MX Record نداشته باشی، هیچ ایمیلی دریافت نمیکنی.»
اما این جمله نباید گولتان بزند! اگر برای یک دامنه هیچ MX Recordای وجود نداشته باشد، طبق استاندارد SMTP، سرور فرستنده میتواند برای پیدا کردن مقصد ایمیل سراغ رکوردهای A یا AAAA همان دامنه برود. در این حالت، همان Hostname دامنه بهعنوان مقصد ایمیل در نظر گرفته میشود.
بااینحال، این به معنی بیاهمیت بودن MX Record نیست! اتفاقاً وقتی برای دامنهتان سرویس ایمیل راهاندازی میکنید، بهتر است MX Recordها را بهدرستی تنظیم کنید تا سرورهای ارسالکننده دقیقاً بدانند ایمیلهای دامنه شما را باید به کدام Mail Server تحویل دهند.
پس نبودن MX Record لزوماً به معنی غیرممکن بودن دریافت ایمیل نیست؛ اما تنظیم درست MX Record روش استاندارد و قابلکنترلتری برای مشخص کردن مقصد ایمیلهای دامنه است.
چند قانون مهم درباره MX Record
تا اینجا با نحوه کار MX Record آشنا شدیم. حالا بد نیست چند نکته فنی مهم را هم بدانیم؛ نکاتی که هنگام تنظیم یا عیبیابی رکوردهای MX میتوانند جلوی خطاهای رایج را بگیرند.
MX Record را به CNAME وصل نکنید
مقدار MX Record باید به یک Hostname اشاره کند، نه یک alias یا CNAME. این Hostname میتواند با رکوردهای A یا AAAA به آدرس IP سرور برسد.
برای مثال:
MX → mail.example.com
A → 192.0.2.10
در مقابل، استفاده از یک CNAME بهعنوان مقصد MX مطابق استاندارد DNS مجاز نیست. بنابراین در مقدار MX، مستقیماً نام اصلی Mail Server را وارد کنید.
در قسمت Mail Server آدرس IP وارد نکنید
یک نکته مهم دیگر این است که مقدار MX باید نام سرور باشد، نه آدرس IP. پس اگر پنل DNS از شما میخواهد مقصد MX را وارد کنید، این مقدار درست نیست:
192.0.2.10
در عوض باید نام Hostname سرور ایمیل را وارد کنید؛ مثلاً:
mail.example.com
بعد از آن، DNS از طریق رکورد A یا AAAA میتواند آدرس IP مربوط به این Hostname را پیدا کند.
TTL چیست و چه تأثیری دارد؟
TTL مخفف Time to Live است و مشخص میکند یک رکورد DNS چه مدت میتواند در کش DNS باقی بماند.
مثلاً اگر TTL رکورد روی 3600 ثانیه تنظیم شده باشد، زمان کش آن یک ساعت است.
به همین دلیل، اگر MX Record را تغییر دهید، ممکن است تغییرات بلافاصله در همهجا دیده نشوند. برخی DNS Resolverها ممکن است تا پایان مدت TTL، اطلاعات قبلی را در کش خود نگه دارند.
بنابراین اگر بعد از تغییر MX Record هنوز نتیجه قبلی را میبینید، لزوماً به این معنی نیست که تنظیمات اشتباه انجام شده است؛ ممکن است هنوز اطلاعات قدیمی در کش DNS باقی مانده باشد.
| ⭐ محتوای مرتبط: چگونه اکانت ایمیل را از یک سی پنل به سی پنل جدید منتقل کنیم؟ |
چرا ایمیلهای دامنه دریافت نمیشوند؟
اگر ایمیلهای سازمانی دامنهتان به مقصد نمیرسند، MX Record یکی از اولین مواردی است که باید بررسی کنید؛ اما مشکل همیشه از DNS و رکوردهای MX نیست. برای پیدا کردن علت، باید به کل مسیر دریافت ایمیل توجه نمایید.
پیشنهاد میکنیم چند مورد رایج را بررسی کنید:
- MX Record وجود ندارد: ممکن است اصلاً رکورد MX برای دامنه تعریف نشده باشد.
- مقصد MX اشتباه است: شاید رکورد MX به Mail Server قدیمی یا اشتباهی اشاره کند.
- Priorityها درست تنظیم نشدهاند: اگر چند Mail Server دارید، مقدار Priority و ترتیب اولویت آنها را بررسی کنید.
- رکوردهای قدیمی باقی ماندهاند: بعد از تغییر سرویس ایمیل، ممکن است رکوردهای مربوط به سرویس قبلی همچنان در DNS باقی مانده باشند.
- تغییرات DNS هنوز در کش هستند: اگر بهتازگی MX Record را تغییر دادهاید، ممکن است برخی Resolverها هنوز اطلاعات قبلی را از کش خود ارائه دهند.
- خود Mail Server مشکل دارد: حتی اگر MX Record کاملاً درست باشد، اختلال در سرور یا سرویس ایمیل مقصد هم میتواند باعث دریافت نشدن پیامها شود.
بنابراین، درست بودن MX Record بهتنهایی تضمین نمیکند که سرویس ایمیل بدون مشکل کار کند؛ اما یکی از مهمترین نقاط برای شروع عیبیابی است.
حرف آخر
MX Record همان رکورد DNSای است که به سرورهای ارسالکننده ایمیل میگوید پیامهای یک دامنه را باید به کدام Mail Server تحویل دهند. اگر چند Mail Server داشته باشید، مقدار Priority هم ترتیب اولویت آنها را مشخص میکند؛ مثلاً در دو رکورد با Priorityهای 10 و 20، سرور دارای Priority 10 در اولویت قرار میگیرد.
پس اگر میخواهید برای دامنهتان یک ایمیل سازمانی مثل [email protected] راهاندازی کنید، تنظیم درست MX Record یکی از بخشهای مهم پیکربندی DNS است. از طرف دیگر، اگر ایمیلهای دامنهتان دریافت نمیشوند، بررسی MX Record میتواند یکی از اولین قدمها برای پیدا کردن مشکل باشد.
هنوز درباره MX Record یا تنظیمات DNS دامنهتان سؤال دارید؟ در بخش نظرات برایمان بنویسید.







دیدگاه ها
اولین نفری باشید که دیدگاه خود را ثبت می کنید