تفاوت بین pop3 و smtp چیست؟ پروتکل ایمیل چیست؟

عملکرد ایمیل با استفاده از سه پروتکل انجام می شود: SMTP، POP3 و IMAP. بدون آنها، ایمیل نمی تواند کار کند. یکی از ویژگی های این پروتکل ها تمرکز محدود آنهاست: اساساً استفاده از آنها برای اهداف دیگر غیرممکن است، که علاوه بر این، منطقی نیست.

دومین ویژگی پروتکل های پستی تک وظیفه بودن آنهاست. برای مثال پروتکلی که پیام می فرستد قادر به دریافت آنها نیست و بالعکس. به همین دلیل است که چنین پروتکل هایی به صورت جفت (SMTP+POP3 یا SMTP+IMAP) کار می کنند.

      1. پروتکل smtp

SMTP (پروتکل انتقال نامه ساده، پروتکل انتقال نامه ساده) پروتکلی است که برای ارسال نامه از کاربران به سرورها و بین سرورها برای ارسال بیشتر به گیرنده استفاده می شود. قبل از انجام این کار، پروتکل بین کامپیوترها ارتباط برقرار می کند که تحویل پیام را تضمین می کند، پروتکل SMTP بسیار ساده و کارآمد است، اما این کارایی به همه وظایف و امکانات تعمیم نمی یابد. بنابراین، حتی ساده ترین مکانیسم احراز هویت و توانایی رمزگذاری داده ها در حین انتقال بین سرورهای پستی را ندارد. بزرگترین نقطه ضعف SMTP عدم توانایی آن در ارسال گرافیک است.

برای اینکه این پروتکل نسبتا خوب را رها نکنیم، تصمیم گرفته شد که آن را با چندین پسوند مفید و ضروری تمدید کنیم. به عنوان مثال، چنین پسوندی MIME (افزونه های ایمیل چند منظوره اینترنتی، یک پسوند خدمات پست اینترنتی چند منظوره) است که به لطف آن امکان ارسال فایل با هر فرمت و محتوایی وجود دارد. علاوه بر این، استاندارد UUENCODE توسعه یافته است که به پیام های متنی اجازه می دهد تا در رمزگذاری های مختلف منتقل شوند.

      1. پروتکل pop3

POP3 (پروتکل پست آفیس 3، پروتکل دفتر پست نسخه 3) یک پروتکل پستی است که توسط یک سرویس گیرنده ایمیل برای دریافت پیام های ایمیل از یک سرور استفاده می شود.

POP3 معمولاً با پروتکل SMTP کار می کند که به شما امکان می دهد یک سیستم کارآمد برای ارسال و دریافت پیام های الکترونیکی سازماندهی کنید.

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

      1. پروتکل imap

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

مشابه POP3، برای کار با حروف دریافتی استفاده می شود، با این حال، عملکردهای اضافی، به ویژه، امکان جستجو بر اساس کلمه کلیدی بدون ذخیره نامه در حافظه محلی را فراهم می کند.

IMAP گزینه های گسترده ای را برای کار با صندوق های پستی واقع در سرور مرکزی در اختیار کاربر قرار می دهد. یک برنامه پستی که از این پروتکل استفاده می‌کند، به فضای ذخیره‌سازی نامه روی سرور دسترسی پیدا می‌کند که گویی نامه در رایانه گیرنده قرار دارد.

از مزایای پروتکل می توان به امکان دانلود جزئی نامه، تقسیم نامه دریافتی به قطعات با چسباندن بعدی و موارد دیگر اشاره کرد. در بیشتر موارد، IMAP راحت تر و کارآمدتر از POP3 است.

مانند هر سرویس شبکه ای، ایمیل با استفاده از یک جفت برنامه و یک پروتکل برای تعامل بین آنها پیاده سازی می شود. در سمت اینترنت، یک برنامه سرور کار می کند و در سمت مصرف کننده، یک برنامه مشتری. یکی از ویژگی های ایمیل که آن را از سایر سرویس های اینترنتی متمایز می کند این است که مبتنی بر دو پروتکل کاربردی است. یکی برای ارسال پیام های خروجی و دیگری برای دریافت نامه های دریافتی استفاده می شود. بر این اساس، در سمت اینترنت، عملیات ایمیل توسط دو سرور ارائه می شود: سرور پیام خروجی و سرور پیام ورودی. سرور صندوق ورودی اغلب به عنوان "صندوق پستی" نامیده می شود.نیاز به دو پروتکل مختلف به الزامات امنیتی مربوط می شود. به عنوان مثال، هنگام ارسال پیام، معمولاً به یک روش سختگیرانه برای شناسایی فرستنده نیازی نیست. ما در پست های معمولی با پدیده مشابهی مواجه می شویم، زمانی که برای ارسال نامه کافی است یک پاکت نامه را در هر صندوق پستی بیندازید. سرویس پیام خروجی بر اساس پروتکل SMTP (پروتکل انتقال نامه ساده - ساده ترین پروتکل انتقال نامه) است و در سمت اینترنت توسط سرورهای SMTP ارائه می شود.

با پیام های دریافتی، وضعیت متفاوت است. برای دریافت پیام، مشتری باید حقوق خاصی را نشان دهد. در پست معمولی، مشتری یا سند را در اداره پست ارائه می دهد (هنگام دریافت نامه سفارشی)، یا باید یک کلید صندوق پستی خود را داشته باشد (کلید یک وسیله مکانیکی برای شناسایی شخص است). در واقع سرویس ایمیل دریافتی به عنوان یک اداره پست عمل می کند. او حقوق مشتری را بر اساس نام ورود و رمز عبور خود بررسی می کند و پس از آن مکاتباتی را که در "صندوق پستی" انباشته شده است به او تحویل می دهد. رایج ترین پروتکل برای این سرویس POP3 (پروتکل پست اداره پست 3 - پروتکل اداره پست، نسخه 3) است.

پروتکل POP3

داشتن سیستم انتقال پیام برای سازمان های کوچک سودآور نیست. این به دلیل این واقعیت است که در سازمان های کوچک و غیر رایانه ای، به عنوان یک قاعده، ایستگاه های کاری مشتری شبکه منابع کافی (عملکرد یا فضای دیسک) برای اجرای یک سرور SMTP کامل را ندارند. علاوه بر این، ممکن است برای چنین کاربران ایمیلی صرفاً به صرفه نباشد که رایانه شخصی را به طور دائم به اینترنت متصل نگه دارند.

برای حل این مشکل، یک پروتکل اداره پست، POP (پروتکل اداره پست)، توسعه داده شد. رایج ترین نوع آن POP3 (پروتکل پست اداره نسخه 3) است. این پروتکل به ایستگاه‌های کاری اجازه می‌دهد تا به صورت پویا به صندوق‌های پستی خود که روی سروری که برای ارائه ایمیل در یک سازمان اختصاص داده شده است دسترسی داشته باشند.

POP3 ساده ترین پروتکلی است که کاربر می تواند با محتویات صندوق پستی خود کار کند. این فقط به شما امکان می دهد نامه را از صندوق پستی سرور به ایستگاه کاری مشتری دریافت کنید و آن را از صندوق پستی سرور حذف کنید. تمام پردازش بیشتر پیام ایمیل در رایانه مشتری انجام می شود.

POP3 - سرور مسئول ارسال نامه نیست، فقط به عنوان یک صندوق پستی جهانی برای گروهی از کاربران کار می کند. زمانی که کاربر نیاز به ارسال پیام دارد، باید با سرور SMTP ارتباط برقرار کند و پیام خود را از طریق SMTP به آنجا ارسال کند. این سرور SMTP ممکن است همان میزبانی باشد که سرور POP3 در آن اجرا می شود یا ممکن است در مکان کاملاً متفاوتی قرار داشته باشد.

به عنوان یک قاعده، هنگام کار با ایمیل، سازمان های کوچک از یک سرور POP3 نصب شده بر روی هر رایانه ای در دفتر برای دریافت مکاتبات خود استفاده می کنند و از طریق SMTP نامه را به یکی از سرورهای SMTP شناخته شده در شهر ارسال می کنند. پیدا کردن چنین چیزی دشوار نیست).

به احتمال زیاد، اکثر شما که این راهنما را می خوانید، قبلاً با متداول ترین فناوری ارتباطی، ایمیل، آشنا هستید. اما آیا تا به حال به این فکر کرده اید که واقعاً چگونه کار می کند؟ در این مقاله با نحوه عملکرد این سرویس آشنا می شویم و POP3، SMTP و IMAP چیست.

POP3(پروتکل پست آفیس نسخه 3) اغلب برای برقراری ارتباط با یک سرور ایمیل راه دور و دانلود پیام ها به یک سرویس گیرنده ایمیل محلی و سپس حذف آن در سرور، به عنوان مثال Thunderbird، Windows Mail و غیره استفاده می شود. با این حال، معمولاً مشتریان ایمیل یک انتخاب را ارائه می دهند - آیا کپی پیام ها را روی سرور بگذارند یا نه. اگر از چندین دستگاه برای ارسال پیام استفاده می کنید، توصیه می شود این ویژگی را فعال نگه دارید، در غیر این صورت نمی توانید به پیام های ارسال شده در دستگاه دیگری که در سرور راه دور ذخیره نشده اند دسترسی داشته باشید. همچنین شایان ذکر است که POP3 یک پروتکل یک طرفه است، به این معنی که داده ها از یک سرور راه دور گرفته شده و به یک مشتری محلی ارسال می شود.

پورت های پیش فرض POP3 عبارتند از:

پورت 110 - پورت غیر رمزگذاری شده

پورت 995 پورت SSL/TLS است که به آن نیز معروف است POP3S

مرحله 2 - تفاوت بین POP3 و IMAP، و IMAP چه پورت هایی دارد؟

IMAP (پروتکل لایه برنامه برای دسترسی به ایمیل)، و همچنین POP3، برای دریافت پیام های ایمیل در یک مشتری محلی استفاده می شود، با این حال، تفاوت قابل توجهی دارد - فقط سرصفحه های پیام های ایمیل دانلود می شوند، بدنه خود نامه باقی می ماند. روی سرور این پروتکل ارتباطی در دو جهت کار می کند، اگر تغییراتی در مشتری محلی رخ دهد، به سرور منتقل می شود. اخیراً IMAP محبوبیت بیشتری پیدا کرده است زیرا غول های ایمیل مانند Gmail توصیه می کنند از آن به جای POP3 استفاده کنید.

پورت های پیش فرض IMAP عبارتند از:

  • پورت 143 - پورت غیر رمزگذاری شده
  • پورت 993 پورت SSL/TLS است که به آن نیز معروف است IMAPS

مرحله 3 - SMTP، پروتکل برای ارتباطات ایمیل خروجی

پروتکل ساده انتقال نامه ( SMTP) برای برقراری ارتباط با یک سرور راه دور و سپس ارسال پیام از مشتری محلی به سرور راه دور و در نهایت به سرور گیرنده استفاده می شود. در سرور ایمیل شما، این فرآیند توسط یک سرویس ویژه کنترل می شود ( MTA). شایان ذکر است که SMTP منحصراً برای ارسال پیام استفاده می شود.

پورت های SMTP:

  • پورت 25 - پورت غیر رمزگذاری شده
  • پورت 465 پورت SSL/TLS است که به آن نیز معروف است SMTPS

نتیجه

امیدواریم اکنون درک روشنی از نحوه کار پروتکل‌های نامه و پورت‌هایی که استفاده می‌کنند داشته باشید. در این راهنما، یاد گرفتیم که POP3، SMTP و IMAP چیست و چه کاربردی دارند. به عنوان مثال، POP3 و IMAP برای اهداف یکسانی استفاده می شوند، اما آنها به روش های مختلف به این وظایف برخورد می کنند. IMAP محتویات ایمیل را روی سرور می گذارد، در حالی که POP3 آن را در رایانه شما دانلود می کند. همچنین، ما یاد گرفتیم که پورت های استاندارد SMTP، POP3 و IMAP چیست.

نکته بارز بسیاری از پروتکل های لایه کاربردی ساده بودن آنهاست. پروتکل‌های مبتنی بر TCP بیشتر از دستورات و پاسخ‌ها در قالب متن استفاده می‌کنند که درک آن‌ها را برای کاربران و پیاده‌سازی برنامه‌نویسان آسان‌تر می‌کند.

برای توضیح بیشتر، ما به دو پروتکل نگاه خواهیم کرد که می توان هر روز برای ارسال و دریافت ایمیل از آنها استفاده کرد: SMTP و POP3.
پروتکل انتقال ایمیل ساده: SMTP
پروتکل ساده انتقال نامه (SMTP)یکی از معتبرترین پروتکل های اینترنتی است. در اوایل دهه 1980 توسعه یافت، عملکردهای آن تمیز و ساده برای انتقال از طریق ایمیل و بین شبکه ها و سایر سیستم های حمل و نقل است. بنابراین، استفاده از آن نباید محدود به سیستم هایی باشد که از پروتکل استفاده می کنند TCP/IP. هر سیستم ارتباطی قادر به مدیریت خطوط تا 1000 کاراکتر ASCII 7 بیتی است که می تواند برای اجرای پیام ها از طریق پروتکل SMTP استفاده شود. در یک شبکه TCP/IP، TCP مکانیسم انتقال را فراهم می کند.
V فرستنده SMTPکلاینت است و کلاینت می تواند با سرورهای مختلف ارتباط برقرار کند. پیام ها را می توان مستقیماً از میزبان فرستنده به میزبان مقصد ارسال کرد که نیاز به اتصال TCP جداگانه دارد و هر کپی از هر پیام باید ساخته شود. با این حال، چندین گیرنده نامه می توانند سرور خود را اجرا کنند SMTP.
این بیشتر برای قرار ملاقات معمولی است SMTPپیام ها، سروری که به گروهی از کاربران خدمات می دهد، مانند دامنه های اینترنتی. سرور تمام نامه های ارسال شده برای کاربران را دریافت می کند و سپس به آنها اجازه می دهد تا با استفاده از آنها جمع آوری کنند POP3 (پروتکل اداره پست نسخه 3)یا سایر پروتکل های پستی علاوه بر این، اکثر مشتریان SMTPپیام ها را به یک سرور "میزبان هوشمند" ارسال کنید، که وظیفه آن انتقال آن پیام ها به گیرندگان احتمالی است.
معاملات SMTPزمانی شروع می شود که مشتری-فرستنده یک اتصال TCP را با استفاده از پورت معروف شماره 25 به گیرنده باز می کند. سرور با ارسال پیامی مانند "این اتصال را تایید می کند. 220 سرور SMTP آماده است«. SMTPاز فرمت پاسخ FTP مشابهی استفاده می کند که قبلاً به آن پرداختیم. با دریافت یک کد سه رقمی، نرم افزار مشتری باید پاسخ دهد اگر همه چیز درست است. این گله برای کمک به افرادی است که می توانند با تجزیه و تحلیل گزارش تراکنش عیب یابی کنند. پنجره کدهای پاسخ پروتکل برنامه حاوی اطلاعات دقیق تری در مورد کدهای پیام پاسخ است.
سرور SMTPمی تواند با ارسال پیامی با کد پاسخ "421 سرویس در دسترس نیست" از ارتباط خودداری کند. برای مثال، SMTPسرور ISP که برای مشترکین خود برای ارسال نامه های خروجی ارائه شده است، ممکن است با میزبانی که آدرس IP آن نشان می دهد که مشترک ISP نیست ارتباط برقرار نکند. پایه ای پروتکل SMTPهیچ شکلی از کنترل دسترسی ندارد - به نحوی که می توان از آن برای ارسال پیام استفاده کرد و این باعث غیرعملی شدن آن می شود - بنابراین تنها راهی است که ارائه دهندگان می توانند از استفاده غیر مشترکین، مانند ارسال کنندگان هرزنامه، از استفاده از سرورهای ایمیل خود برای ارسال پیام جلوگیری کنند.
سرور پس از دریافت تایید کاراکترهای صحیح فرستنده به سرور، رشته "HELO name" را ارسال می کند. کاراکتر HELO روی فرمان و نام، نام میزبان است. همانطور که خواهیم دید، نام میزبان در هدر edit: استفاده می شود، سرور پیام را همانطور که در مسیر خود ارسال می کند، اضافه می کند. این اطلاعات به گیرنده اجازه می دهد تا مسیر را از طریق پیام ردیابی کند.
سرور ارسال
هنگامی که فرستنده یک تأییدیه "250 OK" دریافت کرد، می تواند شروع به ارسال پیام کند. پروتکل فوق العاده ساده است. تنها کاری که فرستنده ها باید انجام دهند این است که بگویند کدام یک از پیام ها باید محتوای پیام را تامین کند.
پیام با استفاده از دستور "MAIL FROM:

". این دستور همچنین به گیرنده می گوید که در شرف دریافت پیام های جدید است، بنابراین او می داند لیست گیرندگان خود را پاک کند. آدرس در پرانتزهای زاویه ای مسیر بازگشت پیام است. مسیر برگشت آدرسی است که در صورت عدم تحویل یا ارسال پیام خطا ایجاد می شود.
در راه برگشت معتبر است و مانند "MAIL FROM:" نامعتبر است.<>". این معمولاً هنگام ارسال گزارش اشکال استفاده می شود. مسیر بازگشت تهی به این معنی است که گزارش خطا مورد نیاز نیست. هدف اصلی آن جلوگیری از قرار گرفتن در موقعیتی است که پیام ها را نمی توان به یک انتقال رفت و برگشت تحویل داد زیرا آدرس فرستنده و گیرنده هر دو در دسترس نیستند.
گیرندگان پیام با استفاده از "RCPT TO" تعریف می شوند:
". هر آدرس در براکت های زاویه ای محصور شده است. یک پیام می تواند گیرندگان زیادی داشته باشد و برای هر یک از آنها یک دستور RCPT TO: ارسال می شود. این دستورات RCPT TO: همه در سرصفحه پیامی که به مقصد می رسد نیستند. در مورد پیام های Bcc یا لیستی از آدرس های سرور گیرنده به هیچ وجه در هدر نمایش داده نمی شود.
هر گیرنده با یک پاسخ "250 OK" تایید می شود. هنگام استفاده از پاسخ با کد پاسخ 550، گیرنده نیز می تواند رد شود. بستگی به نحوه پیکربندی سرور دارد. دسترسی از راه دور به سرورهای ارائه دهنده SMTPمی تواند هر دستور RCPT TO: را بپذیرد، حتی اگر آدرس مشخص شده نامعتبر باشد، زیرا سرور تا زمانی که یک جستجوی DNS روی آن انجام ندهد، نمی داند که آدرس نامعتبر است. با این حال، یک سرور ایمیل که برای پذیرش پیام‌ها برای کاربران محلی یا یک دامنه خاص طراحی شده است، نامه‌های آدرس‌هایی را که در آن حوزه نیستند رد می‌کند.
پاسخ های دیگری ممکن است در پاسخ به RCPT TO دریافت شود: پیام هایی که سرور SMTPمفید بود اگر آدرس نادرست باشد، اما سرور آدرس صحیح را نداند، ممکن است پاسخ دهد: «251 User not local; ارسال
' یا '551 کاربر محلی نیست، لطفا امتحان کنید
". به کدهای پاسخ متفاوت توجه کنید که نشان می دهد سرور در حال ارسال پیام است یا خیر. این پاسخ‌ها عمومی نیستند و مشتری ایمیل ممکن است به جای تلاش برای تجزیه آدرس‌های جایگزین از بدنه پاسخ، یک پاسخ 551 را به عنوان خطا ارسال کند.
به منظور کامل بودن، باید توجه داشت که دستورات RCPT TO: می توانند مسیرها را مشخص کنند، نه فقط آدرس ها را. مسیر به صورت «RCPT TO: ».
متن پیام ها.
هنگامی که همه گیرندگان مشخص شدند، تنها کاری که فرستنده باید انجام دهد ارسال پیام است. ابتدا یک فرمان "DATA" را ارسال می کند و سپس منتظر پاسخی مانند: "354 ورود ایمیل را از انتها شروع کنید". ". پیام به صورت دنباله ای از خطوط متن ارسال می شود. اما هیچ تاییدیه ای برای هر خط دریافت نمی شود، اگرچه فرستنده باید پاسخ را نظارت کند که نشان دهنده خطا است.
در انتهای پیام، همانطور که در پاسخ بالا مشخص شد، یک نقطه (نقطه) در خط خودش است. بنابراین، یکی از ساده‌ترین، اما مهم‌ترین کارهایی که یک سرویس گیرنده ایمیل باید انجام دهد این است که مطمئن شود یک خط حاوی یک نقطه در خود متن ظاهر نمی‌شود. در پایان پیام با پاسخ "250 OK" تایید می شود. شایان ذکر است که SMTPهیچ علاقه ای به محتوای پیام ندارد. این می تواند هر چیزی باشد، اگرچه پیام ها به طور دقیق نباید حاوی هیچ کاراکتری با مقادیر ASCII بین 128 و 255 باشند و خطوط متن نباید از 1000 کاراکتر تجاوز کند. همچنین نیازی نیست که هدرهای آدرس فرستنده و گیرنده که توسط دستورات SMTP استفاده می‌شوند، به نظر برسند که پیام‌ها از طرف شخصی غیر از فرستنده واقعی آمده‌اند.

پروتکل SMTP

SMTP(انگلیسی) ساده ایمیل انتقال پروتکلپروتکل ساده انتقال نامه یک پروتکل شبکه ای است که برای انتقال ایمیل از طریق شبکه های TCP/IP طراحی شده است.

SMTP برای ارسال نامه از کاربران به سرورها و بین سرورها برای ارسال بیشتر به گیرنده استفاده می شود. برای دریافت نامه، سرویس گیرنده نامه باید از پروتکل های POP3 یا IMAP استفاده کند.

داده ها با استفاده از TCP، که معمولاً از پورت 25 یا 587 استفاده می کند، منتقل می شود. پیام های بین سرورها معمولاً از پورت 25 استفاده می کنند.

برای رساندن پیام به مخاطب، لازم است آن را به ایمیل سرور دامنه ای که مخاطب در آن قرار دارد، فوروارد کنید. این معمولا با استفاده از رکورد MX انجام می شود. ایمیل تبادل-- تبادل نامه) سیستم های DNS. اگر رکورد MX وجود نداشته باشد، می توان از یک رکورد A برای همین منظور استفاده کرد. برخی از پیاده سازی های مدرن سرورهای SMTP (به عنوان مثال، Exim) همچنین می تواند از یک رکورد SRV (RFC 2782) برای تعیین سرویس دهنده ایمیل در دامنه گیرنده استفاده کند.

سرور SMTPیک ماشین حالت با حالت داخلی است. مشتری یک رشته فرمان را به سرور ارسال می کند<пробел>مولفه های<перевод строки>. سرور به هر دستور با یک رشته حاوی کد پاسخ و یک پیام متنی که با فاصله جدا شده است پاسخ می دهد. کد پاسخ یک عدد از 100 تا 999 است که به صورت رشته ای نمایش داده می شود و به صورت زیر تفسیر می شود:

  • 2XX - دستور با موفقیت انجام شد
  • 3XX -- انتظار برای داده های اضافی از مشتری
  • 4XX - خطای موقت، مشتری باید پس از مدتی دوباره امتحان کند
  • 5XX -- خطای کشنده

بخش متنی پاسخ فقط برای مرجع است و برای یک شخص در نظر گرفته شده است نه یک برنامه.

امنیت SMTP و هرزنامه

در ابتدا، SMTP از یک طرح مجوز واحد پشتیبانی نمی کرد. در نتیجه، هرزنامه به یک مشکل تقریبا غیرقابل حل تبدیل شد، زیرا تعیین فرستنده واقعی پیام غیرممکن بود - در واقع، شما می توانید نامه ای از طرف هر شخصی ارسال کنید. در حال حاضر با استفاده از مشخصات SPF، Sender ID، Yahoo Domain Keys تلاش می شود تا این مشکل برطرف شود. در حال حاضر هیچ مشخصات واحدی وجود ندارد.

پروتکل POP3

POP3(انگلیسی) پست دفتر پروتکل نسخه 3-- Post Office Protocol نسخه 3) یک پروتکل شبکه ای است که برای دریافت پیام های ایمیل از یک سرور استفاده می شود. معمولاً در ارتباط با پروتکل SMTP استفاده می شود.

برنج. 10. طرح "Client-server از طریق پروتکل POP3"

شرح پروتکل POP3

موردی را که در شکل نشان داده شده است در نظر بگیرید. 10. طرح "Client-server از طریق پروتکل POP3". طراحی پروتکل POP3 به کاربر این امکان را می دهد که با سرور ایمیل خود تماس گرفته و نامه هایی را که برای او جمع شده است بازیابی کند. کاربر می تواند از هر نقطه دسترسی اینترنتی به سرور POP دسترسی داشته باشد. در همان زمان، او باید یک عامل پست ویژه (UA) راه اندازی کند که طبق پروتکل POP3 کار می کند و آن را برای کار با سرور ایمیل خود پیکربندی کند. بنابراین، در رأس مدل POP یک رایانه شخصی جداگانه قرار دارد که منحصراً به عنوان مشتری (سرور) سیستم پست الکترونیکی کار می کند. همچنین تاکید می کنیم که پیام ها با استفاده از پروتکل POP به مشتری تحویل داده می شوند، اما همچنان با استفاده از SMTP ارسال می شوند. یعنی دو عامل واسط جداگانه برای سیستم پستی در رایانه کاربر وجود دارد - تحویل (POP) و ارسال (SMTP). طراحان پروتکل POP3 این وضعیت را "UAs تقسیم شده" می نامند. مفهوم عوامل جداگانه به طور خلاصه در مشخصات POP3 مورد بحث قرار گرفته است.

پروتکل POP3 سه مرحله را در فرآیند دریافت نامه مشخص می کند: مجوز، تراکنش و به روز رسانی. هنگامی که سرور POP3 و کلاینت اتصال برقرار کردند، مرحله مجوز شروع می شود. در مرحله مجوز، مشتری خود را به سرور معرفی می کند. در صورت موفقیت آمیز بودن مجوز، سرور صندوق پستی مشتری را باز می کند و مرحله تراکنش آغاز می شود. در آن، کلاینت یا از سرور اطلاعاتی را می خواهد (مثلاً لیستی از پیام های ایمیل) یا از او می خواهد که عمل خاصی را انجام دهد (مثلاً یک پیام ایمیل صادر کند). در نهایت در مرحله به روز رسانی، جلسه ارتباط به پایان می رسد. در زیر دستورات پروتکل POP3 وجود دارد که برای اجرای حداقل پیکربندی مبتنی بر اینترنت مورد نیاز است.

دستورات پروتکل POP نسخه 3 (برای حداقل پیکربندی)

USER کاربر با نام داده شده را شناسایی می کند.

PASS رمز عبور جفت کلاینت و سرور را مشخص می کند.

QUIT اتصال TCP را می بندد

سرور STAT تعداد پیام ها را در صندوق پستی به اضافه اندازه صندوق پستی برمی گرداند

سرور LIST شناسه های پیام را همراه با اندازه پیام برمی گرداند (پارامتر فرمان می تواند شناسه پیام باشد)

RETR پیامی را از صندوق پست بازیابی می کند (به آرگومان شناسه پیام نیاز دارد)

DELE پیامی را برای حذف علامت گذاری می کند (به آرگومان شناسه پیام نیاز دارد)

NOOP سرور یک پاسخ مثبت برمی گرداند اما کاری انجام نمی دهد

آخرین سرور بزرگترین شماره پیام را از پیام هایی که قبلاً به آنها دسترسی داشته است را برمی گرداند

RSET حذف پیامی که قبلاً با دستور DELE علامت گذاری شده بود را لغو می کند.

چندین دستور در پروتکل POP3 تعریف شده است، اما تنها دو پاسخ به آنها داده می شود: +OK (مثبت، شبیه به یک پیام تأیید ACK) و -ERR (منفی، شبیه به یک پیام تأیید نشده NAK). هر دو پاسخ تایید می‌کنند که با سرور تماس گرفته شده است و اصلاً به دستورات پاسخ می‌دهد. به عنوان یک قاعده، هر پاسخ با توضیحات شفاهی آموزنده خود دنبال می شود. RFC 1225 نمونه هایی از چندین جلسه POP3 معمولی دارد. اکنون چندین مورد از آنها را در نظر خواهیم گرفت که امکان گرفتن دنباله دستورات در تبادل بین سرور و مشتری را فراهم می کند.

پس از اینکه برنامه یک اتصال TCP به پورت پروتکل POP3 (شماره رسمی 110) برقرار کرد، باید دستور USER را با نام کاربری به عنوان پارامتر ارسال کنید. اگر پاسخ سرور +OK است، یک فرمان PASS با رمز عبور آن کاربر ارسال کنید:

CLIENT: USER kcope ERVER: +OK Client: PASS Secret SERVER: +OK kcope's maildrop دارای 2 پیام است (320 octet) (صندوق پست Kcope دارای 2 پیام (320 بایت) است ...)

تراکنش های POP3

دستور STAT تعداد پیام‌ها و تعداد بایت‌های پیام‌ها را برمی‌گرداند:

سرور: +OK 2 320

دستور LIST (بدون پارامتر) لیستی از پیام‌های موجود در صندوق پستی و اندازه آنها را برمی‌گرداند:

دستور NOOP هیچ اطلاعات مفیدی را به جز پاسخ مثبت سرور بر نمی گرداند. با این حال، پاسخ مثبت به این معنی است که سرور به مشتری متصل است و منتظر درخواست ها است:

مثال های زیر نشان می دهد که سرور POP3 چگونه عملکردها را انجام می دهد. به عنوان مثال، دستور RETR پیام را با شماره مشخص شده بازیابی می کند و آن را در بافر UA محلی قرار می دهد:

کلاینت: RETR 1 SERVER: +OK 120 octets Server: (سرور POP3 کل پیام را ارسال می کند) سرور: . . . . . .

دستور DELE پیامی که باید حذف شود را علامت گذاری می کند:

سرور: +تأیید پیام 1 حذف شد ... مشتری: DELE 2 سرور: -پیام ERR 2 پیام قبلاً حذف شده 2 قبلاً حذف شده است)

دستور RSET علائم حذف را از همه پیام های علامت گذاری شده قبلی حذف می کند:

(2 پیام در صندوق پستی (320 بایت))

همانطور که انتظار می رود، دستور QUIT اتصال به سرور را می بندد:

کلاینت: خروج از سرور: +OK دیویی POP3 در حال خاموش شدن کلاینت: خروج از سرور: +OK دیویی POP3 در حال خاموش شدن (قطره پست خالی) کلاینت: خروج از سرور: +تأیید امضای سرور dewey POP3 (2 پیام باقی مانده است)

توجه داشته باشید که پیام هایی که برای حذف علامت گذاری شده اند تا زمانی که دستور QUIT صادر نشود و مرحله تازه سازی شروع شود، در واقع حذف نمی شوند. در هر زمانی در طول جلسه، مشتری این گزینه را دارد که دستور RSET را صادر کند و تمام پیام‌های علامت‌گذاری شده برای حذف بازیابی می‌شوند.

پروتکل IMAP

IMAP(انگلیسی) اینترنت پیام دسترسی داشته باشید پروتکل) یک پروتکل اینترنت لایه کاربردی برای دسترسی به ایمیل است.

IMAP گزینه های غنی را برای کار با صندوق های پستی واقع در سرور مرکزی در اختیار کاربر قرار می دهد. یک برنامه پستی که از این پروتکل استفاده می‌کند، به فضای ذخیره‌سازی نامه روی سرور دسترسی پیدا می‌کند که گویی نامه در رایانه گیرنده قرار دارد. ایمیل‌ها را می‌توان از رایانه کاربر (مشتری) بدون نیاز به ارسال مداوم فایل‌هایی با محتویات کامل پیام‌ها از سرور، دستکاری کرد.

مزایا نسبت به POP

IMAP برای جایگزینی پروتکل ساده POP3 طراحی شده است و دارای مزایای زیر نسبت به دومی است:

  • · نامه ها بر روی سرور ذخیره می شوند، نه روی مشتری. امکان دسترسی به یک صندوق پستی از کلاینت های مختلف وجود دارد. همچنین پشتیبانی می شود همزماندسترسی چند مشتری مکانیسم هایی در پروتکل وجود دارد که به وسیله آن یک کلاینت می تواند از تغییرات ایجاد شده توسط سایر کلاینت ها مطلع شود.
  • · پشتیبانی از چندین صندوق پستی (یا پوشه ها). مشتری می تواند صندوق های پستی را روی سرور ایجاد، حذف و تغییر نام دهد و همچنین پیام ها را از یک صندوق پستی به صندوق دیگر منتقل کند.
  • · امکان ایجاد پوشه های مشترک که برای چندین کاربر قابل دسترسی باشد، وجود دارد.
  • · اطلاعات مربوط به وضعیت حروف بر روی سرور ذخیره می شود و در دسترس همه مشتریان است. ایمیل ها را می توان به عنوان خوانده شده، مهم و غیره علامت گذاری کرد.
  • · پشتیبانی از جستجو در سرور. برای یافتن پیام مورد نیاز خود، نیازی به دانلود پیام های زیادی از سرور نیست.
  • · پشتیبانی از عملیات آنلاین. کلاینت می تواند ارتباط دائمی با سرور داشته باشد، در حالی که سرور به صورت بلادرنگ مشتری را از تغییرات صندوق های پستی از جمله حروف جدید مطلع می کند.
  • · مکانیزمی برای گسترش قابلیت های پروتکل ارائه شده است.