خلاصه (TL;DR): کدهای خطای SMTP اعدادی سهرقمی هستند که سرور ایمیل در پاسخ به هر مرحله از ارسال پیام برمیگرداند و وضعیت آن مرحله را مشخص میکنند. رقم اول دسته کلی پاسخ را نشان میدهد: کدهای 2xx یعنی موفقیت، 3xx یعنی نیاز به ادامه فرمان، 4xx یعنی خطای موقت که با تلاش دوباره حل میشود و 5xx یعنی خطای دائمی که تا رفع علت، ارسال انجام نمیشود. شایعترین خطاها شامل 421 (سرور در دسترس نیست)، 450 و 451 (تعویق موقت)، 550 (صندوق وجود ندارد یا رد شد)، 552 (تجاوز از حجم) و 554 (تراکنش ناموفق یا اسپم) است. در این راهنما هر کد را به زبان ساده، همراه با علت و راهحل عملی توضیح میدهیم.
کدهای خطای SMTP چه هستند و چرا اهمیت دارند؟
SMTP یا Simple Mail Transfer Protocol پروتکل استانداردی است که مسئول انتقال ایمیل از سرور فرستنده به سرور گیرنده است. هر بار که یک پیام ارسال میشود، دو سرور در قالب مجموعهای از فرمانها و پاسخها با یکدیگر گفتوگو میکنند. سرور مقصد در برابر هر فرمان یک کد وضعیت سهرقمی برمیگرداند که نتیجه آن مرحله را اعلام میکند. این کدها زبان مشترک سرورهای ایمیل در سراسر جهان هستند و در استاندارد RFC 5321 تعریف شدهاند.
درک این کدها برای مدیران سایت، صاحبان کسبوکار و کسانی که ایمیل تراکنشی (مانند تأیید ثبتنام یا فاکتور) ارسال میکنند حیاتی است. وقتی ایمیلی به مقصد نمیرسد، همین کد است که به شما میگوید مشکل از آدرس اشتباه گیرنده است، از تنظیمات احراز هویت دامنه شما، یا از فهرست سیاه بودن آیپی سرور. بدون فهم این کدها، عیبیابی ارسال ایمیل به حدس و گمان تبدیل میشود.
ساختار کدهای SMTP چگونه است؟
هر کد SMTP از سه رقم تشکیل شده که هرکدام معنای مشخصی دارند. شناخت این ساختار به شما اجازه میدهد حتی کدهایی را که پیشتر ندیدهاید تفسیر کنید.
- رقم اول (دسته کلی): نوع پاسخ را مشخص میکند؛ آیا فرمان موفق بوده، نیاز به ادامه دارد، یا شکست خورده است.
- رقم دوم (موضوع): حوزه پاسخ را نشان میدهد، مثلاً مربوط به نحو (syntax)، اتصال، یا وضعیت سیستم ایمیل.
- رقم سوم (جزئیات): اطلاعات دقیقتری درباره همان موضوع ارائه میدهد.
علاوه بر این، بسیاری از سرورها یک «کد وضعیت توسعهیافته» بر اساس RFC 3463 نیز برمیگردانند که به شکل x.y.z است (مثلاً 5.1.1) و علت را دقیقتر شرح میدهد. رقم اول در این قالب هم مانند کد اصلی معنا دارد.
معنای دستههای اصلی کد SMTP چیست؟
رقم نخست کد، سریعترین راه برای تشخیص وضعیت است. جدول زیر چهار دسته اصلی را خلاصه میکند.
| دسته | معنی | اقدام پیشنهادی |
|---|---|---|
2xx |
موفقیت؛ فرمان پذیرفته و اجرا شد | نیازی به اقدام نیست |
3xx |
پاسخ میانی؛ سرور منتظر ادامه فرمان است | ارسال فرمان بعدی توسط کلاینت |
4xx |
خطای موقت؛ مشکل گذراست | سرور معمولاً بهصورت خودکار دوباره تلاش میکند |
5xx |
خطای دائمی؛ فرمان رد شد | باید علت ریشهای برطرف شود |
تفاوت کلیدی میان 4xx و 5xx در همین «موقت یا دائمی بودن» است. خطاهای 4xx معمولاً نیازی به دخالت شما ندارند چون سرور فرستنده طبق زمانبندی خود دوباره تلاش میکند، اما خطاهای 5xx تا زمانی که ریشه مشکل حل نشود پابرجا میمانند و پیام برگشت میخورد (bounce).
پرکاربردترین کدهای موفقیت و میانی کداماند؟
پیش از پرداختن به خطاها، بهتر است پاسخهای سالم را بشناسید تا در لاگها بتوانید مسیر موفق ارسال را دنبال کنید.
220: سرور آماده است و اتصال را میپذیرد؛ نخستین پاسخ در آغاز جلسه.221: سرور در حال بستن کانال ارتباطی است؛ پایان موفق جلسه.250: فرمان با موفقیت انجام شد؛ رایجترین پاسخ مثبت که پس از هر مرحله موفق دیده میشود.354: سرور آماده دریافت متن پیام است؛ پاسخ به فرمانDATAو دعوت به ارسال بدنه ایمیل.
اگر در لاگ ارسال، این کدها را پشت سر هم دیدید، یعنی گفتوگوی SMTP سالم پیش رفته و پیام تحویل سرور مقصد شده است.
خطاهای موقت (4xx) و راهحل آنها
خطاهای دسته 4xx نشان میدهند که مشکلی گذرا مانع تحویل شده است. این خطاها اغلب خودبهخود برطرف میشوند، اما تکرار مداوم آنها نشانه مشکلی جدیتر است.
| کد | معنی | علت رایج |
|---|---|---|
421 |
سرویس در دسترس نیست | شلوغی سرور، محدودیت نرخ اتصال یا قطعی موقت |
450 |
صندوق در دسترس نیست | قفل موقت صندوق گیرنده یا گریلیستینگ |
451 |
پردازش محلی ناموفق | خطای داخلی سرور مقصد یا فیلتر موقت |
452 |
فضای کافی نیست | پر بودن صندوق گیرنده یا کمبود منابع سرور |
یکی از دلایل بسیار شایع کد 450، سازوکاری به نام گریلیستینگ (Greylisting) است؛ سرور مقصد در نخستین تلاش، پیام را عمداً موقتاً رد میکند تا مطمئن شود فرستنده یک سرور واقعی است که دوباره تلاش میکند، نه یک ربات اسپم. در این حالت پیام معمولاً در تلاش دوم تحویل میشود و نیازی به اقدام از سوی شما نیست.
برای رفع خطاهای 4xx پایدار، این مراحل را دنبال کنید:
- چند دقیقه صبر کنید؛ بسیاری از این خطاها با تلاش خودکار مجدد سرور حل میشوند.
- لاگ سرور ایمیل خود را بررسی کنید تا متن کامل خطا و کد توسعهیافته را ببینید.
- مطمئن شوید حجم و نرخ ارسال شما از محدودیت سرور مقصد فراتر نرفته باشد.
- اگر خطا ساعتها ادامه یافت، صحت آدرس گیرنده و وضعیت آیپی سرور فرستنده را کنترل کنید.
خطاهای دائمی (5xx) و نحوه رفع آنها
خطاهای 5xx جدیترین دسته هستند چون تا رفع علت، پیام هرگز تحویل داده نمیشود و به فرستنده برگشت میخورد. شناخت دقیق این کدها بیشترین اهمیت را دارد.
| کد | معنی | علت و راهحل |
|---|---|---|
500 |
خطای نحوی، فرمان ناشناخته | مشکل در نرمافزار کلاینت؛ تنظیمات ارسال را بررسی کنید |
550 |
صندوق وجود ندارد یا دسترسی رد شد | آدرس گیرنده اشتباه است یا فرستنده در فهرست سیاه است |
551 |
کاربر محلی نیست | گیرنده به سرور دیگری منتقل شده است |
552 |
تجاوز از حجم مجاز | حجم پیوست یا پیام از حد مجاز بیشتر است |
553 |
نام صندوق مجاز نیست | قالب آدرس ایمیل نامعتبر است |
554 |
تراکنش ناموفق | پیام بهعنوان اسپم شناسایی شد یا فرستنده مسدود است |
کد 550 رایجترین خطای دائمی است و میتواند دو ریشه کاملاً متفاوت داشته باشد. گاهی آدرس گیرنده واقعاً وجود ندارد (اشتباه تایپی یا حساب حذفشده) و گاهی سرور مقصد آیپی یا دامنه شما را رد کرده است. کد 554 نیز معمولاً به شناسایی پیام بهعنوان هرزنامه یا حضور فرستنده در فهرستهای سیاه (blacklist) اشاره دارد.
چطور از خطاهای ارسال ایمیل جلوگیری کنیم؟
بیشتر خطاهای 5xx مربوط به اعتبار فرستنده، ریشه در پیکربندی نادرست دامنه دارند. رعایت موارد زیر نرخ تحویل ایمیل شما را بهطور چشمگیری بالا میبرد:
- تنظیم رکورد SPF: مشخص میکند کدام سرورها مجاز به ارسال ایمیل از طرف دامنه شما هستند و از جعل هویت جلوگیری میکند.
- فعالسازی DKIM: امضای رمزنگاریشدهای به هر پیام میافزاید تا سرور مقصد از دستنخوردگی و اصالت آن مطمئن شود.
- پیکربندی DMARC: سیاست برخورد با پیامهایی را که SPF یا DKIM را رد میکنند تعیین میکند و گزارشگیری فراهم میآورد.
- رکورد PTR (Reverse DNS) معتبر: بسیاری از سرورهای بزرگ، ایمیلِ آیپی بدون rDNS معتبر را رد میکنند.
- پایش فهرست سیاه: بهطور دورهای بررسی کنید که آیپی سرور شما در بلکلیستهای معروف قرار نگرفته باشد.
استفاده از یک سرویس ایمیل حرفهای و سازمانی که این تنظیمات بهدرستی روی آن پیکربندی شده، سادهترین راه برای دور ماندن از این خطاهاست. اگر حجم ایمیل شما بالاست یا نیاز به کنترل کامل بر سرور ایمیل دارید، راهکارهای اختصاصی مانند سرور ایمیل SmarterMail امکان مدیریت دقیق صف ارسال، احراز هویت و لاگها را در اختیارتان میگذارد.
عیبیابی گامبهگام یک خطای SMTP
وقتی با یک خطای مشخص روبهرو میشوید، این روند منطقی به شما کمک میکند سریع به ریشه مشکل برسید:
- متن کامل پیام خطا (bounce) را بخوانید؛ معمولاً هم کد سهرقمی و هم توضیح متنی در آن هست.
- رقم اول کد را تشخیص دهید تا بدانید مشکل موقت (
4xx) است یا دائمی (5xx). - در صورت
5xx، بررسی کنید آدرس گیرنده درست باشد و صندوق واقعاً وجود داشته باشد. - اگر پیام به اسپم بودن یا مسدودیت اشاره دارد، وضعیت SPF/DKIM/DMARC و بلکلیست آیپی را کنترل کنید.
- لاگ سرور فرستنده را برای دیدن کل گفتوگوی SMTP بررسی کنید تا بدانید در کدام مرحله خطا رخ داده است.
- در صورت نیاز، با پشتیبانی سرویسدهنده ایمیل خود تماس بگیرید و متن دقیق خطا را ارائه دهید.
کدهای وضعیت توسعهیافته (Enhanced Status Codes) چه میگویند؟
بسیاری از سرورهای مدرن علاوه بر کد سهرقمی سنتی، یک کد دقیقتر سهبخشی به شکل class.subject.detail نیز برمیگردانند که در استاندارد RFC 3463 تعریف شده است. این کدها امکان تشخیص علت را بسیار دقیقتر میکنند. برای مثال، دو پیام ممکن است هر دو کد 550 بگیرند، اما کد توسعهیافته آنها متفاوت باشد و یکی «آدرس وجود ندارد» و دیگری «پیام بهعنوان اسپم رد شد» را نشان دهد.
| کد توسعهیافته | معنی |
|---|---|
5.1.1 |
آدرس گیرنده وجود ندارد یا نامعتبر است |
5.1.2 |
دامنه گیرنده یافت نشد |
5.2.2 |
صندوق گیرنده پر است |
5.7.1 |
پیام بهدلیل سیاست امنیتی یا اسپم رد شد |
4.4.1 |
سرور مقصد پاسخ نمیدهد (موقت) |
هنگام عیبیابی، همیشه بهدنبال این کد دقیق در متن bounce بگردید؛ رقم نخست آن (۴ یا ۵) موقت یا دائمی بودن را نشان میدهد و دو بخش بعدی، ریشه مشکل را روشن میکنند. کد 5.7.1 که به سیاست امنیتی اشاره دارد، یکی از رایجترین دلایل رد شدن ایمیلهای تبلیغاتی یا انبوه است و معمولاً به مشکل در احراز هویت دامنه یا شهرت آیپی برمیگردد.
یک نمونه واقعی از گفتوگوی SMTP
برای درک بهتر، تصور کنید سروری میخواهد ایمیلی به یک صندوق ارسال کند. گفتوگوی سالم میان دو سرور چیزی شبیه این است: نخست سرور مقصد با کد 220 آمادگی خود را اعلام میکند. سپس فرستنده خود را معرفی میکند و پاسخ 250 میگیرد. آدرس فرستنده و گیرنده اعلام و هرکدام با 250 پذیرفته میشوند. با فرمان DATA، سرور مقصد کد 354 میفرستد و از فرستنده میخواهد بدنه پیام را ارسال کند. پس از دریافت کامل پیام، پاسخ نهایی 250 بهمعنای پذیرش پیام صادر میشود و جلسه با کد 221 بسته میشود.
حال اگر در هر یک از این مراحل خطایی رخ دهد، سرور بهجای کد موفقیت، یک کد 4xx یا 5xx برمیگرداند و دقیقاً همانجاست که فرایند متوقف میشود. برای مثال اگر آدرس گیرنده اشتباه باشد، در مرحله اعلام گیرنده پاسخ 550 5.1.1 دریافت میشود و پیام هرگز به مرحله ارسال بدنه نمیرسد. مطالعه لاگ سرور به شما اجازه میدهد دقیقاً ببینید گفتوگو در کدام مرحله و با کدام کد شکسته شده است، و همین، سریعترین راه رسیدن به ریشه مشکل است.
سوالات متداول
تفاوت خطای 4xx و 5xx در SMTP چیست؟
خطاهای دسته 4xx موقتی هستند و سرور فرستنده معمولاً پس از مدتی بهطور خودکار دوباره تلاش میکند؛ این خطاها اغلب بدون دخالت شما حل میشوند. اما خطاهای 5xx دائمیاند و تا وقتی علت ریشهای (مانند آدرس اشتباه، حجم زیاد یا مسدودیت) برطرف نشود، پیام تحویل داده نمیشود و به فرستنده بازمیگردد.
چرا ایمیل من خطای 550 میدهد؟
خطای 550 معمولاً دو علت دارد: یا آدرس گیرنده اشتباه است یا آن صندوق وجود ندارد، و یا سرور مقصد آیپی/دامنه شما را رد کرده است. ابتدا صحت آدرس گیرنده را کنترل کنید و سپس مطمئن شوید رکوردهای SPF و DKIM دامنهتان درست تنظیم شده و آیپی سرورتان در فهرست سیاه نیست.
گریلیستینگ چیست و چرا باعث تأخیر ایمیل میشود؟
گریلیستینگ روشی ضد اسپم است که در آن سرور مقصد نخستین تلاش ارسال را با کد موقت (اغلب 450) رد میکند. سرورهای واقعی طبق استاندارد پس از چند دقیقه دوباره تلاش میکنند و در تلاش دوم پیام پذیرفته میشود، اما رباتهای اسپم معمولاً این کار را نمیکنند. نتیجه، تأخیری کوتاه در تحویل نخستین ایمیل از یک فرستنده جدید است.
چگونه مطمئن شوم ایمیلهایم به اسپم نمیروند؟
مهمترین عامل، پیکربندی صحیح احراز هویت دامنه (SPF، DKIM و DMARC) و داشتن rDNS معتبر برای آیپی سرور است. همچنین باید محتوای ایمیل را از عبارات تحریککننده فیلترها دور نگه دارید و آیپی خود را در بلکلیستها پایش کنید. استفاده از یک سرویس ایمیل سازمانی که این موارد را بهدرستی مدیریت میکند، ریسک اسپم شدن را به کمترین حد میرساند.
جمعبندی
کدهای خطای SMTP نقشه راه شما برای فهم آنچه در پشتصحنه ارسال ایمیل رخ میدهد هستند. با شناخت چهار دسته اصلی و بهویژه تمایز میان خطاهای موقت 4xx و دائمی 5xx، میتوانید هر مشکل تحویل را بهسرعت ریشهیابی و برطرف کنید. کلید کاهش این خطاها، پیکربندی درست احراز هویت دامنه و استفاده از زیرساخت ایمیل معتبر است. اگر به دنبال یک بستر ایمیل پایدار با پشتیبانی فارسی ۲۴/۷ و تنظیمات حرفهای ضد اسپم هستید، سرویس ایمیل سازمانی برتینا و راهکار SmarterMail گزینههای مطمئنی برای کسبوکار شما بهشمار میروند. برای میزبانی سایت و ایمیل در کنار هم نیز میتوانید هاست پرسرعت برتینا را بررسی کنید.




