پروتکل ساده ارسال ایمیل (SMTP) یک پروتکل ارتباطی استاندارد برای ارسال پیام های ایمیل در شبکه های تجاری و اینترنت است. SMTP در ابتدا در اوایل دهه 1980 توسعه یافت و همچنان یکی از محبوب ترین پروتکل های استفاده شده در سراسر جهان است.
نرم افزار ایمیل اغلب از SMTP برای ارسال استفاده می کند و یا پروتکل های پروتکل Post Office 3 (POP3) یا پروتکل پروتکل دسترسی به پروتکل اینترنت (IMAP) برای دریافت ایمیل. با وجود سن، هیچ جایگزینی واقعی برای SMTP در استفاده اصلی وجود ندارد.
چگونه SMTP کار می کند
همه برنامه های مشتری ایمیل مدرن از SMTP پشتیبانی می کنند. تنظیمات SMTP در یک سرویس ایمیل شامل آدرس IP سرور SMTP (همراه با آدرس های سرور POP یا IMAP برای دریافت ایمیل) می باشد. مشتریان مبتنی بر وب آدرس سرور SMTP را در داخل پیکربندی خود جاسازی می کنند، در حالی که مشتریان کامپیوتر تنظیمات SMTP را ارائه می دهند که به کاربران امکان می دهد که سرور خود را انتخاب کنند.
یک سرور SMTP فیزیکی ممکن است برای سرویس ترافیک ایمیل اختصاص داده شود اما اغلب با حداقل POP3 و گاهی اوقات دیگر توابع پروکسی سرور همراه است.
SMTP در بالای TCP / IP اجرا می شود و از شماره پورت TCP 25 برای ارتباطات استاندارد استفاده می کند. برای بهبود SMTP و کمک به مبارزه با اسپم در اینترنت، گروه های استاندارد همچنین پورت 587 TCP را برای پشتیبانی از جنبه های خاص پروتکل طراحی کرده اند. چندین سرویس ایمیل وب مانند Gmail از پورت 465 غیر رسمی TCP برای SMTP استفاده می کنند.
دستورات SMTP
استاندارد SMTP مجموعه ای از دستورات را تعریف می کند - نام انواع خاصی از پیام هایی که مشتریان را به سرور ایمیل می فرستند هنگام درخواست اطلاعات. دستورالعمل هایی که معمولا استفاده می شود عبارتند از:
- HELO و EHLO - دستوراتی که یک جلسه پروتکل جدید بین سرویس گیرنده و سرور ایجاد می کنند. دستور EHLO آنها را برای پاسخ دادن با هر پسوند SMTP اختیاری پشتیبانی می کند
- MAIL - فرمان برای شروع ارسال یک پیام ایمیل
- RCPT - فرمان برای ارائه یک آدرس ایمیل برای گیرنده پیام فعلی آماده می شود
- DATA - دستور نشان دهنده شروع انتقال پیام ایمیل است. این فرمان یک سری از یک یا چند پیام پی در پی را که هر یک شامل یک قطعه پیام است، آغاز می کند. آخرین پیام در دنباله خالی است (حاوی فقط یک دوره (.) به عنوان یک کاراکتر ختم) به معنای پایان ایمیل است.
- RSET - در حالی که در فرایند ارسال ایمیل (پس از صدور فرمان MAIL)، هر دو انتهای اتصال SMTP می توانند اتصال را دوباره تنظیم کنند، اگر خطایی را در بر دارد
- NOOP - پیام خالی (بدون عملیات) طراحی شده به عنوان یک نوع پینگ برای بررسی پاسخ برای انتهای دیگر جلسه
- QUIT - جلسه پروتکل را متوقف می کند
گیرنده این دستورات با هر کدام از شماره های موفقیت و یا کد های خرابی پاسخ می دهد.
مسائل با SMTP
SMTP فاقد ویژگی های امنیتی داخلی است. اسپم های اینترنتی برای استفاده از SNMP در گذشته از طریق تولید مقادیر زیاد ایمیل های ناخواسته و ارائه آنها از طریق سرور SMTP باز شده فعال شده اند. حفاظت در برابر هرزنامه در طول سالها بهبود یافته است، اما از احمق بودن برخوردار نیست. علاوه بر این، SMTP از تنظیمات (از طریق دستور MAIL) از آدرس های ایمیل جعلی "From:" جلوگیری می کند.