Pochta aloqasi protokoli orqali pochta qutining qanday qilib olinishi

Sahna orqasida post pochtasi protokoli orqali pochta manziliga qarang

Uzoq serverlardan pochta qabul qilish uchun ishlatiladigan Post Office Protokoli (POP) juda oddiy protokollardir. Asosiy funktsionallikni aniq tarzda belgilaydi va amalga oshirish oson. Albatta, tushunish ham oson.

E-pochta dasturingiz pochta orqali POP hisobiga kirganda sahnada nima sodir bo'lishini bilib olaylik. Birinchidan, serverga ulanish kerak.

Salom, u meni

Odatda, POP server kelgan ulanishlar uchun portni 110 dinlaydi. POP mijozidan (e-pochta dasturidan) ulanganingizdan so'ng, umid qilamanki + OK pop.philo.org bilan tayyor yoki shunga o'xshash narsalar bilan javob berishingiz mumkin. + OK har bir narsani "OK" ekanligini ko'rsatadi. Uning salbiy ekvivalenti - ERR , ya'ni biror narsa noto'g'ri ketdi. Ehtimol, sizning elektron pochtangiz mijozingiz allaqachon ushbu salbiy server javoblardan birini ko'rsatgan.

Kirish yopiq

Endi server bizni kutib oldi, biz o'z ismimizdan tizimga kirishimiz kerak (foydalanuvchi nomi "tirnoq", server nima deyayotgani kursiv bilan yoziladi):

+ OK pop.philo.org tayyor
USER komandasi

Ushbu nomga ega bo'lgan foydalanuvchi mavjud bo'lganligi sababli, POP serveri + OK bilan javob beradi va ehtimol, biz chindan ham g'amxo'rlik qilmaymiz. Agar serverda bunday foydalanuvchi bo'lmasa, albatta, bizni aldash bilan noma'lum foydalanuvchi bilan xavotirga soladi .

Autentifikatsiyani to'ldirish uchun biz parolni ham berishimiz kerak. Bu "o'tish" buyrug'i bilan amalga oshiriladi:

+ OK parolingizni yuboring
noplato

Agar parolni to'g'ri kiritib qo'ysak, server + OK katta parol bilan javob beradi yoki POP serverining programlovchisiga nimadir kerak. Muhim qismi yana + OK . Afsuski, parollar ham noto'g'ri bo'lishi mumkin. Server buni quruq -ERR username va parol bilan mos kelmasligini qayd qiladi (foydalanuvchi ismingizni parol sifatida ishlatgan kabi).

Agar hamma narsa yaxshi bo'lsa, biz serverga ulanganmiz va kim ekanligimizni biladi, shuning uchun biz yangi kelgan xabarni ko'rib chiqishga tayyormiz.

Siz va Mailga ega bo'ldingiz!

Serverda POP hisob qaydnomamizga muvaffaqiyatli kirganimizdan so'ng, avvalo, yangi pochta xabari mavjudligini va keyinchalik qanchalik ko'pligini bilishni istaymiz.

Ushbu asosiy pochta qutisi statistikasini olish uchun ishlatiladigan buyruq STAT .

Mumkin bo'lgan server javoblari + OK 18 67042 bo'ladi . Bunday holatda + OK belgisidan keyin nima muhim. Shundan so'ng pochta qutisidagi xabarlar soni, so'ngra bo'shliqlar bilan ajratilgan, sektsiyadagi pochta qutisining o'lchami (sektset 8 bit).

STAT
+ OK 18 67042

Agar pochta mavjud bo'lmasa, server OK + 0 bilan javob beradi. Serverda 18 ta yangi xabar bo'lgani uchun, biz ularni LIST buyrug'i yordamida ro'yxatlashimiz mumkin. Bunga javoban, server xabarlarni quyidagi formatda ko'rsatadi:

LIST
+ OK 18 xabar (67042 sekts)
1 2552
2 3297
...
18 3270
.

Xabarlar bir vaqtning o'zida ro'yxatga olinadi, ularning har biri keyinchalik uning sektsiyasidagi o'lchami. Ro'yxat, o'z navbatida, bir satr bilan tugaydi.

LIST buyrug'i ixtiyoriy argument sifatida xabarning raqamini qabul qilishi mumkin, masalan LIST 2 . Serverning ushbu so'rovga munosabati + OK 2 3297 bo'ladi , xabarning raqami va keyin xabar hajmi. Agar LIST 23 ga o'xshash xabar mavjud bo'lmasa, server hech qanday tasavvurga ega emas va shunday deydi: - Bunday xabar yo'q .

Katta olish (va o'chirish)

Endi hisobimizda qancha xabar borligini va qanchalik katta ekanligini bilishimiz uchun, ularni oxirigacha olishimiz kerak.

Endi bizda yangi xat bor-yo'qligini aniqlagandan so'ng, haqiqiy narsa keladi. Xabarlar RETR buyrug'iga argument sifatida o'z xabar raqamlari bilan birma-bir olinadi.

Server bir nechta satrlarda + OK va xabardagi xabarlarga javob beradi. Xabar o'z-o'zidan bir satrda o'chiriladi. Masalan:

RETR 1
+ OK 2552 sekts
Blah!
.

Agar bizda mavjud bo'lmagan xabarni olishga harakat qilsak, bunday xabar yo'q .

Endi xabarni DELE buyrug'i yordamida o'chirib tashlashimiz mumkin. (Biz, albatta, o'sha kunlardan biri bo'lsa, xabarni o'chirmasdan ham o'chirishimiz mumkin).

Server xabarni zudlik bilan tozalashini bilish yaxshi. Bu faqat o'chirish uchun belgilanadi. Haqiqiy o'chirish faqat serverga ulanishni muntazam yakunlaymiz. Masalan, ulanish birdan o'lsa, hech qanday pochta hech qachon yo'qolmaydi.

Serverning DELE buyrug'iga munosabati + OK xabar o'chirildi :

DELE 1
+ OK xabar 1 o'chirildi

Agar u o'sha kunlardan biri bo'lsa va biz o'chirib tashlamoqchi bo'lmagan xabarni belgilab qo'ysak, o'chirish belgilarini tiklash orqali barcha xabarlarni o'chirib tashlash mumkin. RSET buyrug'i pochta qutisini biz tizimga kirishdan oldin sodir bo'lgan holatga qaytaradi.

Server + OK va ehtimol xabarlarning soni bilan javob beradi:

RSET
+ OK 18 ta xabar

Barcha xabarlarni olib tashlaganimizdan so'ng QUIT buyrug'idan foydalangan holda vidolashmoq vaqti keldi. Bu o'chirish uchun belgilangan xabarlarni tozalaydi va ulanishni o'chirib qo'yadi. Server + OK va vidolashuv xabari bilan javob beradi:

QUIT
+ OK bye, bye

Server xabarni o'chira olmadi. Keyin o'chirilmaydigan - ERR xabarlari kabi xato bilan javob beradi.