Kako dohvaćanje pošte putem protokola Post Office funkcionira

Iza kulisa Pogledajte Fetching Mail putem protokola pošte

Protokol za poštu (POP) koji je koristio za preuzimanje pošte s udaljenog poslužitelja vrlo je jednostavan protokol. Određuje osnovnu funkcionalnost na jednostavan način i lako je implementirati. Naravno, lako je razumjeti.

Doznajemo što se događa iza scene kada vaš program e-pošte dohvaća poštu na POP računu. Najprije se treba povezati s poslužiteljem.

Bok, to je ja

Obično, POP poslužitelj sluša priključak 110 za dolazne veze. Nakon spajanja s POP klijenta (vaš program e-pošte), nadamo se da će odgovoriti s + OK pop.philo.org spreman ili nešto slično. + U redu znači da je sve u redu. Njegov negativni ekvivalent je -ERR , što znači da nešto nije pošlo po zlu. Možda je vaš klijent e-pošte već prikazao jedan od tih negativnih odgovora poslužitelja.

Prijava

Sada kada nas je poslužitelj pozdravio, moramo se prijaviti pomoću našeg korisničkog imena (pretpostavimo da je korisničko ime "voda", što poslužitelj piše tiskanim u kurzivu):

+ U redu pop.philo.org spremno
USER vod

Budući da postoji korisnik s ovim imenom, POP poslužitelj odgovara s + OK i možda nekim neuspjehom za kojim mi zapravo nije stalo. Na poslužitelju nije postojao takav korisnik, naravno, to bi nas učinilo panikom s korisnikom -ERR nepoznatih .

Da bismo dovršili provjeru autentičnosti, također trebamo dati našu zaporku. To je učinjeno pomoću naredbe "proći":

+ OK pošaljite svoju lozinku
proći noplato

Ako upišemo lozinku ispravno, poslužitelj odgovara s + OK velikom lozinkom ili što god je programer POP poslužitelja imao na umu. Važan dio ponovno je + OK . Nažalost, lozinke također mogu biti pogrešne. Poslužitelj to napominje sa suhim -ERR korisničkim imenom i zaporkom ne odgovaraju (kao da koristite svoje korisničko ime kao zaporku).

Ako je sve u redu, međutim, povezani smo s poslužiteljem i znamo tko smo, stoga smo spremni pogledati novu poštu.

Imate poštu!

Nakon što smo se uspješno prijavili na naš POP račun na poslužitelju, najprije želimo znati ima li uopće nova pošta, a možda i koliko.

Naredba za preuzimanje tih osnovnih statistika spremnika je STAT .

Mogući odgovor poslužitelja bi bio + OK 18 67042 . U ovom slučaju, važno je što slijedi znak OK . Odmah nakon toga slijedi broj poruka u spremniku, a zatim, odvojeni razmakom, dolazi veličinu spremnika u oktetima (oktet je 8 bita).

STAT
+ OK 18 67042

Ako nema pošte, poslužitelj odgovara s + OK 0 0 . Budući da na poslužitelju ima 18 novih poruka, međutim, možemo ih popisati pomoću naredbe LIST . Kao odgovor, poslužitelj navodi poruke u sljedećem formatu:

POPIS
+ OK 18 poruka (67042 okteta)
1 2552
2 3297
...
18 3270
,

Poruke se navode jednu po jednu, a svaka slijedi njezina veličina u oktetima. Popis završava vremenom na liniji sam po sebi.

Naredba LIST može uzeti broj poruke kao dodatni argument, primjerice POPIS 2 . Odgovor poslužitelja na ovaj zahtjev bio bi + 2 3297 , broj poruke i veličina poruke. Ako pokušate navesti poruku koja ne postoji, kao što je POPIS 23 , poslužitelj ne pokazuje maštu i kaže: -ERR nema takve poruke .

Veliki dohvat (i brisanje)

Sada kad znamo koliko je poruka na našem računu i koliko su veliki, konačno je vrijeme da ih dohvatimo kako bismo ih mogli čitati.

Sada, nakon što saznamo imamo li novu poštu, dolazi prava stvar. Poruke se vraćaju jedan po jedan sa svojim brojem poruka kao argumentom za naredbu RETR .

Poslužitelj odgovara s + OK i porukom kako jest, u više redaka. Poruka se prekida vremenom na liniji sama po sebi. Na primjer:

RETR 1
+ OK 2552 okteta
Bla!
,

Ako pokušamo dobiti poruku koja ne postoji, dobivamo -ERR nema takve poruke .

Sad možemo obrisati pomoću naredbe DELE . (Naravno, možemo i izbrisati poruku bez da je dođemo, ako je jedan od onih dana).

Dobro je znati da poslužitelj neće odmah očistiti poruku. To je samo označeno za brisanje. Stvarno brisanje se događa samo ako redovito prekinemo vezu s poslužiteljem. Stoga se poruka e-pošte nikad neće izgubiti ako se veza iznenada umre, na primjer.

Odgovor poslužitelja na naredbu DELE je + OK poruka izbrisana :

DELE 1
+ OK poruka 1 izbrisana

Ako je doista jedan od onih dana i označili smo poruku za brisanje koju ne želimo izbrisati, moguće je vratiti sve poruke vraćanjem oznaka brisanja. Naredba RSET vraća spremnik u stanje u kojem je bila prije nego što se prijavimo.

Poslužitelj odgovara s + OK i eventualno brojem poruka:

RSET
+ OK 18 poruka

Nakon što smo preuzeli i izbrisali sve poruke, došlo je vrijeme da se oprostimo pomoću naredbe QUIT . To će očistiti poruke označene za brisanje i zatvoriti vezu. Poslužitelj odgovara + OK i oproštajnom porukom:

PRESTATI
+ OK, pa, bye

Moguće je da poslužitelj nije mogao izbrisati poruku. Tada će odgovoriti s pogreškom kao što je -ERR poruka 2 nije izbrisana .