Ako funguje načítavanie pošty prostredníctvom protokolu Post Office

Za zákrutami sa pozrite na načítanie pošty prostredníctvom protokolu Post Office

Protokol Post Office (POP) používaný na načítanie pošty zo vzdialeného servera je veľmi jednoduchý protokol. Základnú funkčnosť definuje jednoduchým spôsobom a je ľahko implementovateľný. Samozrejme, je tiež ľahké pochopiť.

Poďme zistiť, čo sa deje v zákulisí, keď váš e-mailový program získava poštu v účte POP. Po prvé, musí sa pripojiť k serveru.

Ahoj, to je mňa

Zvyčajne server POP počúva port 110 pre prichádzajúce pripojenia. Po pripojení z klienta POP (váš e-mailový program), dúfajme, že bude reagovať s pripraveným + OK pop.philo.org alebo podobným spôsobom. + OK znamená, že všetko je v poriadku. Jeho negatívny ekvivalent je -ERR , čo znamená, že sa niečo pokazilo. Možno váš e-mailový klient už ukázal jeden z týchto negatívnych odpovedí na server.

Prihlásenie

Teraz, keď nás server privítal, musíme sa prihlásiť pomocou nášho používateľského mena (predpokladajme, že používateľské meno je "čata", čo hovorí server je vytlačený kurzívou):

+ OK pop.philo.org pripravený
USER čata

Pretože používateľ s týmto menom neexistuje, server POP reaguje pomocou + OK a možno aj nejaký gibberish, o čo nám naozaj nezaujíma. Keby na server neexistoval žiadny takýto používateľ, samozrejme by nás to spôsobilo paniku s používateľom -ERR neznámym .

Aby bolo overovanie dokončené, musíme tiež dať svoje heslo. To sa deje pomocou príkazu "pass":

+ OK pošlite svoje heslo
prejsť noplato

Ak správne zadáme heslo, server odpovie s veľkým heslom + OK alebo akýkoľvek programátor servera POP, ktorý mal na mysli. Dôležitou časťou je opäť + OK . Bohužiaľ, heslá môžu byť tiež nesprávne. Server si to všimne so suchým používateľským menom a heslom, ktoré sa nezhodujú (ako keby ste používali svoje používateľské meno ako heslo).

Ak všetko prebehlo v poriadku, sme pripojení k serveru a vieme, kto sme, a preto sme pripravení pozrieť novo prišielú poštu.

Dostali ste poštu!

Po úspešnom prihlásení sa do nášho účtu POP na serveri môžeme najskôr vedieť, či je vôbec nejaká nová pošta a potom koľko.

Príkaz používaný na získanie týchto základných štatistík poštových schránok je STAT .

Možná reakcia servera bude + OK 18 67042 . V tomto prípade je jedno, čo nasleduje po znamení + OK . Bezprostredne nasleduje počet správ v poštovej schránke a potom oddelených medzerou sa nachádza veľkosť poštovej schránky v oktetoch (oktet je 8 bitov).

STAT
+ OK 18 67042

Ak nie je žiadna pošta, server reaguje pomocou + OK 0 0 . Pretože na serveri je 18 nových správ, môžeme ich vymenovať pomocou príkazu LIST . V odpovedi server uvádza správy v nasledujúcom formáte:

ZOZNAM
+ OK 18 správ (67042 oktetov)
1 2552
2 3297
...
18 3270
,

Správy sú uvedené jeden po druhom, každý nasleduje jeho veľkosť v oktetoch. Zoznam sa končí samotným okamihom na riadku.

Príkaz LIST môže prijať číslo správy ako voliteľný argument, napríklad LIST 2 . Odpoveď servera na túto požiadavku bude + OK 2 3297 , číslo správy bude nasledovať veľkosť správy. Ak sa pokúsite vymenovať správu, ktorá neexistuje, napríklad LIST 23 , server neprejavuje žiadnu predstavivosť a hovorí: -ERR žiadnu takúto správu .

Veľké obnovenie (a vymazanie)

Teraz, keď vieme, koľko správ je na našom účte a aké veľké sú, je nakoniec čas ich načítať, aby sme ich mohli tiež prečítať.

Teraz, po zistení, či máme novú poštu, ide skutočná vec. Správy sa vyberú jeden po druhom s číslom správy ako argumentom príkazu RETR .

Server odpovedá textom + OK a správou tak, ako je, vo viacerých riadkoch. Správa sa ukončí o čas na riadku sám o sebe. Napríklad:

RETR 1
+ OK 2552 oktetov
Bla!
,

Ak sa pokúsime získať správu, ktorá neexistuje, dostaneme -ERR žiadnu takúto správu .

Teraz môžeme správu odstrániť pomocou príkazu DELE . (Môžeme samozrejme aj vymazať správu bez toho, aby sme ju vybrali, ak je to jeden z týchto dní).

Je dobré vedieť, že server neodstráni správu okamžite. Označuje sa iba na vymazanie. Aktuálne odstránenie sa uskutoční iba vtedy, keď pravidelne ukončíme spojenie so serverom. Takže žiadna pošta nebude nikdy stratená, ak náhle zomrie pripojenie.

Odpoveď servera na príkaz DELE je + OK odstránená správa :

DELE 1
+ OK správa 1 vymazaná

Ak je to skutočne jeden z týchto dní a označili sme správu na vymazanie, ktorú nechceme vymazať, je možné zrušiť vymazanie všetkých správ vynulovaním značiek odstránenia. Príkaz RSET vracia poštovú schránku do stavu, v ktorom bola predtým, než sme sa prihlásili.

Server reaguje pomocou + OK a pravdepodobne počtu správ:

RSET
+ OK 18 správ

Po stiahnutí a odstránení všetkých správ je čas povedať zbohom pomocou príkazu QUIT . Tým sa odstránia správy označené na odstránenie a spojenie sa ukončí. Server reaguje pomocou + OK a rozlúčka:

KONIEC
+ OK bye, bye

Je možné, že server nemohol odstrániť správu. Potom bude reagovať s chybou ako správa -ERR 2, ktorá nie je vymazaná .