آموزشآموزش شبکه به زبان ساده

درس ۴۰ از ۹۹، شبکه و اینترنت، حدود ۱۳ دقیقه خواندن

ایمیل چگونه می‌رسد: SMTP، IMAP و POP3

جواب کوتاه

وقتی دکمه‌ی فرستادن را می‌زنید، برنامه‌ی ایمیل نامه را به سرور ایمیل خودتان می‌دهد. سرور شما در DNS رکورد MX دامنه‌ی گیرنده را می‌پرسد تا بفهمد ایمیل‌های آن دامنه را کدام سرور می‌گیرد، و نامه را با SMTP به آن سرور می‌رساند. نامه در صندوق گیرنده روی سرورش می‌ماند تا او با IMAP یا POP3 آن را بخواند. IMAP نامه را روی سرور نگه می‌دارد و POP3 معمولا آن را برمی‌دارد.

سه کلمه

  • SMTPکوتاه‌شده‌ی Simple Mail Transfer Protocol: قاعده‌ای که ایمیل با آن از سروری به سرور دیگر می‌رود؛ همان قطار میان ایستگاه‌ها.
  • صندوق پستیجایی روی سرور ایمیل گیرنده که نامه‌ها در آن می‌مانند تا او سراغشان بیاید؛ مثل انبار امانات ایستگاه.
  • رکورد MXسطری در DNS یک دامنه که می‌گوید ایمیل‌های آن دامنه را کدام سرور می‌گیرد.

سفر یک ایمیل

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

  1. برنامه‌ی ایمیل شما نامه را به سرور ایمیل خودتان می‌دهد؛ معمولا روی پورت ۵۸۷، یا ۴۶۵ با رمزگذاری از آغاز.
  2. سرور شما بخش پس از @ در نشانی گیرنده را برمی‌دارد و در DNS می‌پرسد رکورد MX آن دامنه چیست.
  3. سرور شما نامه را با SMTP به سروری که MX نشان داده می‌رساند، روی پورت ۲۵.
  4. نامه در صندوق گیرنده روی سرور او می‌ماند، حتی اگر دستگاه گیرنده خاموش باشد.
  5. گیرنده هر وقت خواست، با IMAP یا POP3 آن را می‌خواند.

تابلوی راهنما: MX

دامنه‌ی یک سایت و سرور ایمیلش لازم نیست یکی باشند (درس دامنه). برای همین هر دامنه‌ای که ایمیل می‌گیرد، در DNS خود یک یا چند رکورد MX دارد که می‌گوید ایمیل‌هایش را کدام سرور می‌گیرد (درس DNS). سند SMTP می‌گوید سرور فرستنده اول باید همین رکورد را بپرسد.

اگر رکورد MX یک دامنه غلط باشد یا نباشد، ایمیل‌ها به آن دامنه نمی‌رسند؛ یکی از چیزهایی که هنگام «ایمیلم نمی‌رسد» باید دید، همین است.

برداشتن یا نگاه کردن: POP3 و IMAP

صاحب بار دو راه دارد:

POP3: نامه‌ها را برمی‌دارید و به دستگاه خودتان می‌برید؛ معمولا از سرور پاک می‌شوند.
IMAP: نامه‌ها روی سرور می‌مانند و شما همان‌جا می‌خوانید و در پوشه‌ها مرتبشان می‌کنید؛ از هر دستگاهی همان را می‌بینید.

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

درون بسته

خود ایمیل، مثل پیام HTTP (درس HTTP)، دو بخش دارد: چند سربرگ، مثل فرستنده، گیرنده، موضوع و تاریخ؛ و پس از یک سطر خالی، بدنه یا متن نامه. سرورها در راه هم سربرگ‌هایی اضافه می‌کنند، و برنامه‌ی ایمیل معمولا راهی دارد که همه‌ی آن‌ها را ببینید.

برچسب دروغ

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

  1. SPF: صاحب دامنه در DNS می‌نویسد کدام سرورها اجازه دارند به نام دامنه‌اش ایمیل بفرستند؛ مثل فهرست ایستگاه‌هایی که بار این شرکت را می‌برند.
  2. DKIM: سرور فرستنده نامه را امضا می‌کند و امضا با دامنه پیوند دارد؛ مثل مهر روی بار.
  3. DMARC: صاحب دامنه می‌گوید اگر نامه‌ای این سنجش‌ها را نگذراند، با آن چه کنند و به او گزارش بدهند.

پورت‌ها در یک نگاه

پورت‌های ایمیل را در درس «پورت‌های رایج» دیدید؛ اینجا کنار سفر ایمیل:

پورتکار
۵۸۷فرستادن از برنامه به سرور خودتان
۴۶۵همان، با رمزگذاری از آغاز
۲۵رساندن میان سرورها (SMTP)
۹۹۳IMAP با رمزگذاری از آغاز
۹۹۵POP3 با رمزگذاری از آغاز

سه اشتباه

  • «ایمیل مستقیم از رایانه‌ی من به رایانه‌ی گیرنده می‌رود.»ایمیل از سرور شما به سرور گیرنده می‌رود و آنجا می‌ماند؛ گیرنده هر وقت خواست آن را برمی‌دارد. برای همین ایمیل به کسی که خاموش است هم می‌رسد.
  • «نام فرستنده‌ی ایمیل همیشه راست است.»نشانی فرستنده را هر کسی می‌تواند بنویسد؛ SPF، DKIM و DMARC کمک می‌کنند سرور گیرنده جعل را بفهمد.
  • «IMAP و POP3 کار یکسانی می‌کنند.»POP3 نامه را برمی‌دارد و معمولا از سرور پاک می‌کند؛ IMAP آن را روی سرور نگه می‌دارد تا از هر دستگاهی همان را ببینید.

جمع‌بندی. آنچه از این درس با خودتان می‌برید.

  • برنامه‌ی ایمیل → سرور خودتان (۵۸۷ یا ۴۶۵) → MX گیرنده در DNS → سرور گیرنده با SMTP (۲۵) → صندوق.
  • رکورد MX می‌گوید ایمیل‌های یک دامنه را کدام سرور می‌گیرد.
  • IMAP نامه را روی سرور نگه می‌دارد (۱۴۳، ۹۹۳)؛ POP3 معمولا برمی‌دارد و پاک می‌کند (۱۱۰، ۹۹۵).
  • هر ایمیل سربرگ‌ها دارد (From، To، Subject، Date) و پس از یک سطر خالی، بدنه.
  • نشانی فرستنده جعل‌شدنی است؛ SPF، DKIM و DMARC کمک می‌کنند جعل فهمیده شود.

خودتان را بسنجید

۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخر آزمون فقط کارنامه را می‌بینید: چند درست، چند نادرست.

خودتان را بسنجید

۱۵ پرسش

  • هر بار پرسش‌ها و ترتیب گزینه‌ها تازه است.
  • تا آخر، درست یا نادرست بودن جواب‌ها گفته نمی‌شود؛ می‌توانید برگردید و جوابی را عوض کنید.
  • آخرش کارنامه می‌گیرید: چند پرسش درست و چند نادرست.
  • هر وقت بستید، دوباره که باز کنید از همان‌جا ادامه می‌دهید.

فصل‌های این درس

درس بعد