SMTP — پروتکل سادهٔ انتقال نامه

ایمیل را از کلاینت به سرور و از سروری به سرور دیگر می‌برد. گفت‌وگو متنی است: فرمان‌های چهارحرفی و پاسخ‌های سه‌رقمی.

  • لایهٔ OSI: 7 (کاربرد)
  • انتقال: TCP
  • پورت: 25 / 587 / 465
  • استاندارد: RFC 5321
  • سطح: مقدماتی · حدود 9 دقیقه

نکته‌های کلیدی

  • SMTP فقط برای ارسال و انتقال ایمیل است؛ دریافت با POP3 یا IMAP انجام می‌شود.
  • پورت ۲۵ بین سرورها، ۵۸۷ (با STARTTLS) و ۴۶۵ (TLS ضمنی) برای ارسال کاربران.
  • SPF، DKIM و DMARC جلوی جعل فرستنده و هرزنامه را می‌گیرند.

مراحل شبیه‌سازی (9 بسته)

  1. 220: پس از اتصال به پورت ۵۸۷ (ارسال کاربران)، سرور خوش‌آمد می‌گوید.
  2. EHLO: کلاینت خود را معرفی می‌کند.
  3. قابلیت‌ها: سرور فهرست قابلیت‌ها را اعلام می‌کند؛ STARTTLS یعنی می‌توان اتصال را رمز کرد.
  4. STARTTLS: اتصال به TLS ارتقا می‌یابد؛ از این به بعد همه چیز رمز است.
  5. AUTH: احراز هویت داخل TLS؛ نام کاربری و رمز با base64 کدگذاری شده‌اند، که رمزنگاری نیست.
  6. پاکت نامه: فرستنده و گیرندهٔ «پاکت» جدا از سرآیندهای داخل نامه اعلام می‌شوند.
  7. متن نامه: سرآیندها و بدنه. موضوع فارسی با کدگذاری MIME به ASCII تبدیل شده است. یک نقطه در خط تنها پایان نامه است.
  8. 250 Queued: سرور نامه را در صف می‌گذارد و شناسه‌ای برمی‌گرداند.
  9. تحویل به MX: سرور ارسال با DNS رکورد MX دامنهٔ گیرنده را پیدا و نامه را روی پورت ۲۵ تحویل می‌دهد. گیرنده SPF، DKIM و DMARC را بررسی می‌کند.

درس‌های مرتبط

  • POP3 — پروتکل اداره پست نسخهٔ ۳
  • IMAP — پروتکل دسترسی به پیام اینترنتی