نحوه دریافت ایمیل از طریق پروتکل پست اداری کار می کند

A پشت صحنه نگاه کردن به پست زدن از طریق پروتکل دفتر پست

پروتکل دفتر پست (POP) برای بازیابی ایمیل از یک سرور از راه دور یک پروتکل بسیار ساده است. این قابلیت اساسی را به شیوه ای ساده تعریف می کند و برای پیاده سازی آسان است. البته، آن را نیز آسان است درک کنید.

بیایید پیدا کنیم چه اتفاقی در پشت صحنه اتفاق می افتد زمانی که برنامه ایمیل شما ایمیل در یک حساب POP دریافت می کند. اول، آن نیاز به اتصال به سرور است.

سلام، من هستم

معمولا، POP سرور به پورت 110 برای اتصالات ورودی گوش می دهد. پس از اتصال از یک سرویس دهنده POP (برنامه ایمیل خود)، امیدوارم با + OK pop.philo.org پاسخ یا چیزی شبیه باشد. + OK نشان می دهد که همه چیز â € "OK است. معادل منفی آن -ERR است ، به این معنی که چیزی اشتباه رفته است. شاید مشتری ایمیل شما قبلا یکی از این پاسخ های منفی سرور را نشان داد.

ورود به سیستم

حالا که سرور به ما خوشامد گفت، ما باید با استفاده از نام کاربری خود وارد سیستم شوید (فرض کنید نام کاربری "ستون" است؛ آنچه که سرور می گوید در کالی چاپ شده است):

+ OK pop.philo.org آماده است
خدمتکار USER

از آنجا که یک کاربر با این نام وجود دارد، سرور POP با + OK پاسخ می دهد و شاید برخی از ماجراهای که ما واقعا به آن اهمیت نمی دهیم. اگر چنین کاربر در سرور وجود نداشته باشد، البته، ما را با ناامن -ERR آشنا می کند .

برای تکمیل احراز هویت ما همچنین نیاز به رمز عبور خود داریم. این کار با دستور "pass" انجام می شود:

+ OK رمز عبور خود را ارسال کنید
گذرنامه

اگر گذرواژه را به درستی وارد کنیم، سرور با رمز عبور عالی + OK یا هر برنامه نویس سرور POP در نظر می گیرد. قسمت مهم این است + OK . متاسفانه، کلمه عبور نیز ممکن است اشتباه باشد. سرور این را با یک نام کاربری خشک شده -ERR یاد می گیرد و با استفاده از رمز عبور با (مانند نام کاربری شما به عنوان رمز عبور شما) استفاده نمی شود.

اگر همه چیز خوب شد، با این حال، ما به سرور متصل شده ایم و می دانیم که چه کسی هستیم، بنابراین ما آماده ایم که ایمیل جدیدی را وارد کرده باشیم.

شما ایمیل دریافت کرده اید!

بعد از اینکه ما به طور موفقیت آمیز وارد حساب POP ما در سرور شدیم، ابتدا می خواهیم بدانیم که آیا ایمیل جدیدی وجود دارد یا خیر.

فرمان مورد استفاده برای بازیابی این آمار صندوق پستی اصلی STAT است .

یک پاسخ سرور ممکن است + OK 18 67042 باشد. در این مورد مهم است که علامت + OK را دنبال کند. بلافاصله پس از آن تعداد پیام ها در صندوق پستی است و سپس با فضای خالی جدا می شود، اندازه صندوق پستی در اکتیو ها (8 اکتیو اکتت) می باشد.

آمار
+ OK 18 67042

اگر ایمیلی وجود نداشته باشد، سرور با + OK 0 0 پاسخ می دهد. از آنجا که 18 پیام جدید در سرور وجود دارد، اما ما می توانیم آنها را با استفاده از دستور LIST لیست کنیم . در پاسخ، سرور لیست پیام ها را در فرمت زیر می نویسد:

لیست
+ OK 18 پیام (67042 اکتبر)
1 2552
2 3297
...
18 3270
.

پیام ها در یک زمان ذکر شده اند، هر کدام به دنبال اندازه آن در اکتبر است. این لیست به پایان می رسد با یک دوره در یک خط به تنهایی.

دستور LIST می تواند شماره یک پیام را به عنوان یک آرگومان اختیاری، به عنوان مثال LIST 2 ببرد. پاسخ سرور به این درخواست می تواند + OK 2 3297 باشد ، شماره پیام به دنبال اندازه پیام است. اگر سعی کنید لیستی از پیامهایی که وجود ندارند، مانند لیست 23 ، سرور نشان دهنده تخیل نیست و می گوید: -ERR چنین پیامی ندارد .

بازیابی بزرگ (و حذف)

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

اکنون، بعد از اینکه متوجه شدیم که ایمیل جدیدی داریم، چیزی واقعی می آید. پیام ها یک به یک با شماره پیام خود به عنوان یک استدلال به دستور RETR بازیابی می شوند .

سرور با یک + OK و پیام به همان صورت است، در چند خط پاسخ می دهد. پیام به صورت یک دوره در یک خط پایان می یابد. مثلا:

RETR 1
+ OK 2552 اکتبر
بله <سرور POP ارسال پیام را در اینجا>
.

اگر ما سعی می کنیم پیغامی را که وجود ندارد دریافت کنیم، ERR چنین پیامی دریافت نمی کند .

اکنون می توانیم پیام را با استفاده از دستور DELE حذف کنیم. البته ما می توانیم پیام را نیز بدون آنکه بتوانیم آن را بازیابی کنیم اگر یکی از آن روزها است، حذف کنیم.

خوب است بدانید که سرور فورا پیام را پاک نمی کند. این فقط برای حذف است. حذف واقعی فقط زمانی اتفاق می افتد که ما به طور مرتب اتصال به سرور را پایان دهیم. بنابراین، اگر اتصال به طور ناگهانی می میرد، به عنوان مثال، هیچ پستی از دست نخواهد افتاد.

پاسخ سرور به دستور DELE + پیام خوب حذف شده است :

DELE 1
+ پیام خوب 1 حذف شد

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

سرور با + OK و احتمالا تعداد پیام ها پاسخ می دهد:

RSET
+ 18 پیام خوب

بعد از اینکه تمام پیام ها را بازیابی و حذف کردیم، زمان خواندن خداحافظی با استفاده از دستور QUIT است . این پیام ها را برای حذف حذف می کند و ارتباط را قطع می کند. سرور با + OK و یک پیام وداع پاسخ می دهد:

کویت
+ خوب، بله

ممکن است سرور قادر به حذف یک پیام نباشد. سپس آن را با خطایی مانند پیام -ERR 2 حذف می کند .