ایمیلها از طریق ایمیل سرورها و با استفاده از نرمافزارهای ایمیل یا همان کلاینت ایمیلها ارسال و دریافت میشوند. این کلاینتها (مثل Mozilla Thunderbird یا Windows Live Mail) برای نمایش ایمیلها از پروتکلهای مخصوص استفاده میکنند. روش انجام این کار با توجه به نوع پروتکل مورد استفاده متفاوت است. پروتکل شبکه IMAP پیام را به صورت مستقیم روی سرور باز میکند اما پروتکل انتقال پیام POP3 ابتدا پیامها را دانلود کرده و سپس آنها را به صورت محلی باز میکند.
در مطالب قبلی، پروتکلهای IMAP و POP3 را در مقاله ای با عنوان مقایسه پروتکلهای IMAP، POP3 و SMTP معرفی و ویژگیهایشان را به صورت کلی بررسی کردیم. در اینجا عملکرد این پروتکلها را با جزئیات بیشتری مورد بررسی و مقایسه قرار میدهیم.
در پشت صحنه پروتکل IMAP چه میگذرد؟
پروتکل IMAP یک پروتکل شبکه مبتنی بر متن است که امکان دسترسی به ایمیلهای موجود روی یک ایمیل سرور را فراهم میکند. اگر حسابتان را با پروتکل IMAP تنظیم کنید، هر زمان که وارد حسابتان شوید ایمیل کلاینت شما یک ارتباط با سرور برقرار میکند. این ارتباط در کل مدت نشست (سشن) حفظ میشود. در این مدت زمان میتوانید به پوشهها و ایمیلهایی که امکان نمایش محتوای آنها پس از درخواست وجود دارد، دسترسی داشته باشید. به این ترتیب همه پوشهها و پیامهای شما روی سرور ذخیره میشوند تا وقتی که حذف شوند. در نتیجه میتوانید در مکانها و زمانهای مختلف و با استفاده از انواع کلاینتها به آنها دسترسی داشته باشید. همچنین همیشه یک پایگاه داده یکسان و به روز در اختیار دارید.
اتصال بین سرور و کلاینت IMAP از طریق پروتکل TCP/IP و پورت 143 (با اتصال امن از طریق پورت 993) انجام میشود. کلاینت از طریق پیام متنی با سرور تماس برقرار میکند اما نیازی به دریافت پاسخ مستقیم فرمانهای ارسال شده ندارد. برای ثبت پاسخهای ارسالی توسط سرور در مراحل بعد، کلاینت یک شناسه به فرمانها پیوست میکند که ایمیل سرور هم آن را به پاسخها اضافه میکند. در صورت وجود اطلاعاتی در پاسخ، خط پاسخ با یک علامت ستاره (*) شروع میشود. اگر در ابتدای پاسخ علامت بعلاوه (+) وجود داشته باشد، یعنی سرور انتظار اطلاعات بیشتری درباره فرمان دریافتی دارد. این پاسخ همچنین حاوی اطلاعاتی درباره اجرای موفق (OK)، شکست (NO) یا خطاهای نحوی فرمان ارسال شده توسط کلاینت IMAP است.
پروتکل انتقال پیام POP3 چگونه کار میکند؟
POP3 امکان بازیابی ایمیلها را با کمک یک کلاینت فراهم میکند. برای انجام این کار، کلاینت یک اتصال با ایمیل سرور ورودی برقرار میکند که لازم است نرمافزار سرور POP3 روی آن نصب شده باشد. ایمیلهایی که روی این سرور قرار گرفتهاند، دانلود شده و روی کامپیوتر کلاینت ذخیره میشوند. سپس ایمیلها توسط ایمیل سرور حذف شده و اتصال خاتمه مییابد. میتوانید محتوای ایمیل را بدون نیاز به برقراری اتصال بین سرور و کلاینت به صورت محلی باز و ویرایش کنید. مدت زمان فرایند بازیابی بستگی به حجم پیوست یا محتوای ایمیل دارد. هر پیام فقط توسط یک کلاینت POP3 قابل دانلود است.
کلاینتهای POP3 برای برقراری اتصال از پورت 110 و پروتکل TCP/IP استفاده میکنند. اگر ارتباط رمزنگاری شده، از پورت 995 استفاده میشود. وقتی سرور و کلاینت به هم متصل هستند، از طریق فرمانها با هم ارتباط برقرار میکنند. فرمانهای POP3 متشکل از سه یا چهار کاراکتر و یک یا چند پارامتر هستند. سرور با یک پیام وضعیت مثبت (+OK) یا منفی (-ERR) و همچنین یکسری اطلاعات اختیاری به صورت مستقیم به هر فرمان پاسخ میدهد. هر نشست POP3 شامل سه مرحله است:
- مرحله اول: در این مرحله کلاینت نام کاربری و رمز عبور را از طریق ایمیل سرور وارد میکند و کاربر ثبت میشود.
- مرحله دوم: شامل فرایند بازیابی پیام است.
- مرحله سوم: وقتی همه ایمیلها دانلود شدند، از روی سرور حذف میشوند. اگر حین بازیابی ایمیلها مشکل ارتباطی ایجاد شود، ایمیلها حذف نمیشوند تا بعداً و پس از برقراری ارتباط مجدد، کلاینت POP3 آنها را دانلود کند.
تفاوتهای IMAP و POP3
مقایسه این دو پروتکل نشان میدهد که بین IMAP و POP3 یکسری تفاوتهای ابتدایی وجود دارد. کلاینتهایی با پروتکل IMAP، با ایمیل سرور ارتباط دائم برقرار میکنند اما کلاینت و سرورهای POP3 فقط وقتی ایمیلی دریافت شود، با هم ارتباط برقرار میکنند. همچنین نحوه برخورد با ایمیلها هم متفاوت است. در POP3 ایمیلهای دانلود شده توسط ایمیل سرور حذف میشوند. در پروتکل IMAP همه پیامها روی سرور باقی میمانند تا وقتی که به صورت دستی حذف شوند. بنابراین در هنگام استفاده از IMAP کلاینتهای مختلف میتوانند همزمان به یک پایگاه داده دسترسی پیدا کنند. در POP3 دسترسی فقط محدود به یکسری کلاینت خاص است چون همه ایمیلهای دریافتی روی کامپیوتر محلی ذخیره میشوند. در جدول زیر یک مقایسه کلی از پروتکلهای IMAP و POP3 را مشاهده میکنید:
IMAP | POP3 |
اتصال روی پورت 143 (993) | اتصال روی پورت 110 (995) |
اتصال دائم | اتصال فقط هنگام بازیابی ایمیلها |
منتظر پاسخ فرمانها نمیماند | باید بلافاصله به فرمانها پاسخ داده شود |
ایمیلها روی سرور باقی میمانند تا وقتی که حذف شوند | ایمیلها پس از بازیابی موفق، از روی سرور حذف میشوند |
بازیابی پیام توسط کلاینتهای مختلف قابل انجام است | بازیابی پیام فقط توسط یکسری کلاینت خاص قابل انجام است |
فقط ایمیلهای خواسته شده بازیابی میشوند | همه ایمیلهای دریافتی بازیابی میشوند |
IMAP برای چند کلاینت، POP3 برای یکسری کلاینت خاص
از آنجا که POP3 فقط به یک کلاینت خاص محدود است و همیشه همه ایمیلها را بازیابی میکند، استفاده از این پروتکل فقط در مواقعی منطقی است که بخواهید از یک کامپیوتر محلی به حساب ایمیل خودتان دسترسی داشته باشید. پس از دانلود ایمیلها، نیازی به برقراری ارتباط با سرور ندارید و میتوانید بدون اتصال اینترنت هم پیامها را خوانده و ویرایش کنید.
اگر قصد دسترسی به ایمیلها از طریق گوشی، تبلت یا سایر کلاینتها را دارید، IMAP گزینه بهتری است. قطعاً این قابلیت در صورت جابجایی و استفاده از اینترنت همراه مفید است. از آنجا که IMAP فقط ایمیلهای دلخواه را باز میکند، میتوانید ایمیلهای حجیمتر را مثلاً با کامپیوتر خانه یا محل کار باز کنید. همچنین از آنجا که نسخه محلی ایمیلها دانلود نمیشوند، همیشه باید یک اتصال اینترنت داشته باشید. علاوه بر بازیابی ایمیل، امکان انجام کارهای دیگری با پروتکل شبکه IMAP وجود دارد. ایجاد و مدیریت پوشههای دلخواه، مشخص نمودن وضعیت ویرایش ایمیلها و آرشیو پیامهای ارسال شده از جمله کارهایی است که کاربران میتوانند با استفاده از IMAP انجام دهند. این قابلیتهای جانبی و ذخیره ایمیلها روی سرور تا وقتی کاربر تصمیم به حذفشان بگیرد، باعث شده که پروتکل IMAP نسبت به POP3 برای ایمیل سرور سنگینتر باشد.
انتخاب بین IMAP و POP3 بستگی به کاربردهای مدنظر شما و همچنین منابع در اختیارتان دارد.
منبع: ionos