پروتکل SMTP چیست؟

تصویر اسکای نت
اسکای نت
پروتکل SMTP چیست؟

اگر کاربر اینترنت باشید، قطعاً بارها از ایمیل برای ارسال و دریافت پیام استفاده کرده‌اید. اما تا به حال فکر کرده‌اید وقتی روی دکمه Send در جیمیل یا Outlook کلیک می‌کنید، در پشت صحنه چه اتفاقی می‌افتد؟

برای خرید هاست ایمیل کلیک کنید.

چگونه ایمیل شما در چند ثانیه از سیستم شما به مقصدی در آن‌سوی دنیا می‌رسد؟

پاسخ این پرسش در یک واژه خلاصه می‌شود: SMTP.
پروتکل SMTP یکی از مهم‌ترین پروتکل‌های دنیای شبکه است که وظیفه‌ی ارسال ایمیل را برعهده دارد. در این مقاله، با زبانی رسمی اما ساده، به بررسی کامل این پروتکل می‌پردازیم؛ از تعریف و نحوه کار گرفته تا پیکربندی و دستورات اصلی آن.

 

تعریف پروتکل SMTP چیست؟

 

تعریف پروتکل SMTP چیست؟

SMTP مخفف Simple Mail Transfer Protocol به معنی «پروتکل ساده انتقال پست الکترونیکی» است.
این پروتکل یکی از زیرمجموعه‌های اصلی مجموعه پروتکل‌های TCP/IP به شمار می‌آید و وظیفه دارد پیام‌های ایمیل را از فرستنده به گیرنده ارسال کند.
به زبان ساده، SMTP مانند پستچی دنیای دیجیتال عمل می‌کند:
نامه (ایمیل) شما را از محل ارسال دریافت کرده و به سرور مقصد تحویل می‌دهد تا گیرنده بتواند آن را با پروتکل‌هایی مانند POP3 یا IMAP مشاهده کند.
بنابراین در سیستم ایمیل سه نقش اصلی داریم:

  • SMTP: ارسال پیام از فرستنده
  • POP3 / IMAP: دریافت پیام در سمت گیرنده

تاریخچه مختصر SMTP

پروتکل SMTP در دهه ۱۹۸۰ میلادی معرفی شد؛ زمانی که اینترنت هنوز در مراحل ابتدایی خود بود و ارسال پیام‌های متنی ساده از طریق شبکه‌های آکادمیک انجام می‌شد.
اولین استاندارد رسمی SMTP در RFC 821 تعریف شد و بعدها در سال ۲۰۰۸ نسخه به‌روزشده‌تری از آن در RFC 5321 منتشر گردید که شامل قابلیت‌های امنیتی و احراز هویت قوی‌ تر بود.

در حال حاضر نسخه‌ی پیشرفته‌ای از SMTP با عنوان ESMTP (Extended SMTP) به‌صورت گسترده در همه‌ی سرویس‌های ایمیل مدرن استفاده می‌شود.

نحوه عملکرد پروتکل SMTP

ارسال ایمیل با استفاده از SMTP در چند مرحله انجام می‌شود که هرکدام نقش مشخصی در انتقال داده دارند:

  1. ایجاد پیام توسط کاربر: کاربر از طریق نرم‌افزار ایمیل (مثل Outlook یا Thunderbird) یا وب‌میل (مثل Gmail) یک پیام جدید ایجاد می‌کند و دکمه Send را می‌زند.
  2. اتصال به سرور SMTP: نرم‌ افزار ایمیل از طریق پورت مشخص (معمولاً 25 یا 587) به سرور SMTP متصل می‌شود.
  3. احراز هویت (Authentication): کاربر باید هویت خود را با نام کاربری و رمز عبور تأیید کند. در صورت موفقیت، اتصال برقرار می‌ماند.
  4. ارسال پیام به سرور مبدأ: سرور SMTP مبدأ پیام را دریافت می‌کند و بررسی می‌کند مقصد ایمیل در کدام دامنه (Domain) قرار دارد.
  5. مسیریابی (Routing): اگر گیرنده در همان دامنه باشد، پیام مستقیماً به صندوق پستی او ارسال می‌شود.
    در غیر این صورت، پیام از طریق چندین SMTP Relay Server به سمت سرور مقصد هدایت می‌شود.
  6. تحویل به Mail Server مقصد: در نهایت، سرور مقصد پیام را ذخیره کرده و از طریق پروتکل‌های POP3 یا IMAP در اختیار گیرنده قرار می‌دهد.

 

نحوه عملکرد پروتکل SMTP

 

سرور SMTP چیست؟

SMTP Server به سیستمی گفته می‌شود که سرویس SMTP را اجرا می‌کند. این سرور مسئول دریافت، پردازش و ارسال پیام‌های ایمیل است.
نقش سرور SMTP را می‌توان مشابه یک دفتر پست دیجیتال دانست که نامه‌ها را از فرستنده دریافت و به مقصد ارسال می‌کند. در عمل، وقتی شما از سرویس‌دهنده‌هایی مانند Gmail، Yahoo Mail یا Outlook استفاده می‌کنید، در پشت صحنه، سرورهای SMTP این شرکت‌ها وظیفه انتقال پیام‌ها را برعهده دارند.

 

سرور SMTP چیست؟

 

نمونه‌هایی از سرورهای SMTP رایج

 

سرویس‌دهنده آدرس سرور SMTP پورت‌های پیش‌فرض
Gmail smtp.gmail.com 465 (SSL) / 587 (TLS)
Outlook smtp.office365.com 587
Yahoo smtp.mail.yahoo.com 465
Zoho smtp.zoho.com 465 / 587

 

پورت‌ها و امنیت در SMTP

به‌ صورت پیش‌فرض، SMTP از پورت 25 استفاده می‌کند، اما این پورت معمولاً توسط فایروال‌ها مسدود می‌شود.
به همین دلیل از پورت‌های جدیدتر و امن‌تر استفاده می‌شود:

 

نوع ارتباط پورت توضیح
SMTP کلاسیک 25 بدون رمزنگاری (ناامن)
SMTPs 465 رمزگذاری‌شده با SSL
ESMTP 587 استاندارد مدرن با TLS و احراز هویت

 

اتصال‌های امن معمولاً با SSL/TLS رمزگذاری می‌شوند تا از سرقت یا شنود اطلاعات جلوگیری شود.
امروزه تقریباً تمام سرویس‌های ایمیل از SMTP امن (SMTPs) استفاده می‌کنند.

تنظیم SMTP Server در IIS (ویندوز سرور)

در سیستم‌های مبتنی بر ویندوز، مدیریت ارسال ایمیل از طریق IIS (Internet Information Services) انجام می‌شود.
برای پیکربندی SMTP در IIS مراحل زیر طی می‌شود:

  1. ورود به کنسول IIS و انتخاب گزینه SMTP E-mail در بخش Application Developer.
  2. وارد کردن آدرس ایمیل فرستنده در قسمت E-mail Address.
  3. انتخاب گزینه Deliver e-mail to SMTP server و وارد کردن آدرس سرور SMTP.
  4. تنظیم پورت (به‌طور پیش‌فرض 25 یا 587).
  5. انتخاب روش احراز هویت (Windows Authentication یا Specify Credentials).
  6. برای ذخیره ایمیل‌ها در دایرکتوری محلی، انتخاب گزینه Store e-mail in pickup directory.
  7. کلیک بر روی Apply برای ذخیره تنظیمات.

این تنظیمات برای زمانی کاربرد دارد که بخواهید از سایت یا اپلیکیشن خود ایمیل ارسال کنید مثلاً فرم تماس با ما یا ارسال لینک بازیابی رمز عبور.

 

تنظیم SMTP Server در IIS (ویندوز سرور)

 

دستورات اصلی در پروتکل SMTP

SMTP بر پایه‌ی ارتباط متنی بین کلاینت و سرور بنا شده است.
در این ارتباط، کلاینت (فرستنده) با استفاده از مجموعه‌ای از دستورات، پیام خود را ارسال می‌کند.
در جدول زیر، مهم‌ترین دستورات SMTP را می‌بینید:

 

دستور کاربرد
HELO / EHLO معرفی فرستنده (کلاینت) به سرور SMTP
MAIL FROM: مشخص کردن آدرس فرستنده
RCPT TO: تعیین گیرنده یا گیرندگان پیام
DATA ارسال محتوای پیام (متن و ضمیمه‌ها)
RSET ریست کردن تراکنش فعلی
VRFY تأیید وجود یا صحت آدرس ایمیل
HELP نمایش راهنمای دستورات موجود
QUIT قطع ارتباط از سرور SMTP

 

این دستورات به‌صورت متنی (Plain Text) بین نرم‌افزار ایمیل و سرور ردوبدل می‌شوند.

 

SMTP Relay چیست؟

SMTP Relay فرآیندی است که طی آن، پیام ایمیل از یک سرور به سرور دیگر منتقل می‌شود.
وقتی گیرنده‌ی شما در دامنه‌ای متفاوت است، پیام باید از طریق چندین Relay Server عبور کند تا به مقصد برسد.
به عنوان مثال:

  1. کاربر example.com پیامی برای someone@gmail.com ارسال می‌کند.
  2. سرور SMTP دامنه example.com پیام را به Relay Server واسط می‌فرستد.
  3. سرور واسط پیام را به سرور Gmail تحویل می‌دهد.

سرویس‌هایی مانند Mailgun، SendGrid، Amazon SES و Elastic Email نمونه‌هایی از سرویس‌های تجاری SMTP Relay هستند که برای ارسال انبوه ایمیل‌ها استفاده می‌شوند.

 

SMTP Relay چیست؟

 

Mail Server چیست و چه نقشی دارد؟

Mail Server سیستمی است که وظیفه دارد پیام‌های ایمیل را ذخیره، ارسال و دریافت کند.
در واقع، هر بار که ایمیلی ارسال می‌کنید، پیام شما از طریق چند Mail Server عبور می‌کند تا به مقصد برسد.
بدون وجود Mail Server، شما تنها می‌توانستید برای کاربرانی ایمیل بفرستید که دامنه‌ی ایمیلشان با شما یکی باشد.
اجزای یک Mail Server معمولاً شامل موارد زیر است:

  • SMTP Server: مسئول ارسال پیام‌ها
  • POP3 / IMAP Server: مسئول دریافت پیام‌ها
  • MTA (Mail Transfer Agent): نرم‌افزاری برای انتقال ایمیل‌ها بین سرورها

تفاوت Incoming Mail Server و Outgoing Mail Server

برای تنظیم ایمیل در نرم‌افزارهایی مانند Outlook یا Thunderbird، باید دو نوع سرور تعریف شود:

 

نوع سرور وظیفه پروتکل پورت پیش‌فرض
Incoming Mail Server دریافت ایمیل‌ها POP3 / IMAP 110 / 143
Outgoing Mail Server ارسال ایمیل‌ها SMTP 25 / 587

 

در بیشتر سرویس‌های مدرن، این دو آدرس معمولاً یکسان هستند اما کارکرد متفاوتی دارند.

امنیت در SMTP

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

  • TLS/SSL: رمزگذاری داده‌ها بین کلاینت و سرور
  • SMTP AUTH: احراز هویت کاربران برای جلوگیری از ارسال هرزنامه
  • SPF، DKIM و DMARC: استانداردهای اعتبارسنجی ایمیل برای جلوگیری از جعل هویت فرستنده

این ویژگی‌ها به‌ویژه برای ایمیل‌های تجاری و سازمانی اهمیت بسیار زیادی دارند.

 

امنیت در SMTP

 

محدودیت‌ها و معایب SMTP

با وجود کاربرد گسترده، SMTP محدودیت‌هایی نیز دارد:

  • این پروتکل فقط برای ارسال پیام طراحی شده است (نه دریافت).
  • در برابر حملات Spam یا Phishing نیازمند لایه‌های امنیتی تکمیلی است.
  • اگر تنظیمات احراز هویت نادرست باشد، ممکن است ایمیل‌ها در پوشه Spam قرار بگیرند.
  • در برخی کشورها یا شبکه‌ها، پورت 25 به‌دلایل امنیتی مسدود می‌شود.

مقایسه SMTP با POP3 و IMAP

 

ویژگی SMTP POP3 IMAP
وظیفه اصلی ارسال ایمیل دریافت ایمیل مدیریت و همگام‌سازی ایمیل
نوع استفاده فرستنده به گیرنده سرور به کاربر سرور به چند دستگاه
پورت پیش‌فرض 25 / 587 110 143
رمزنگاری SSL / TLS SSL / TLS SSL / TLS
ذخیره‌سازی پیام ندارد در سیستم کاربر در سرور

 

سرویس‌های رایگان SMTP

برای کاربران معمولی، چندین سرویس رایگان SMTP وجود دارد که امکان ارسال ایمیل از طریق اپلیکیشن‌ها و وب‌سایت‌ها را فراهم می‌کنند:

  • Gmail SMTP: مناسب برای کاربران شخصی
  • Sendinblue SMTP: ویژه ارسال ایمیل‌های تجاری و تبلیغاتی
  • Mailjet SMTP: سرویس محبوب در اروپا
  • Zoho Mail SMTP: مناسب برای سازمان‌های کوچک و متوسط

این سرویس‌ها معمولاً دارای محدودیت روزانه هستند اما برای شروع کار بسیار کاربردی‌اند.

 

سرویس‌های رایگان SMTP

 

جمع‌ بندی

پروتکل SMTP ستون فقرات ارتباطات ایمیلی در دنیای اینترنت است.
بدون این پروتکل، هیچ ایمیلی از دستگاه فرستنده به گیرنده منتقل نمی‌شد.
در این مقاله آموختیم که:
• SMTP مسئول ارسال ایمیل‌ها است.
• برای دریافت پیام‌ها از پروتکل‌های POP3 یا IMAP استفاده می‌شود.
• سرور SMTP نقش پستچی دیجیتال را دارد که پیام را از مبدأ به مقصد می‌رساند.
• نسخه‌های جدیدتر آن مانند ESMTP و SMTPs امنیت و سرعت بالاتری ارائه می‌دهند.
در نهایت، چه بخواهید برنامه‌نویسی وب انجام دهید، چه مدیریت سرور یا تنظیم ایمیل سازمانی، شناخت عملکرد و ساختار SMTP یکی از مهارت‌های ضروری در دنیای شبکه است.