Kuidas postitusprotokolliga meilide saatmine toimib

Stseenide taga vaadake postkasti protokollist posti saatmist

Post Office'i protokoll (POP), mida posti serverilt serverilt on väljavõtte tegemiseks, on väga lihtne protokoll. See määratleb põhifunktsioonid lihtsal viisil ja seda on lihtne rakendada. Loomulikult on seda ka lihtne mõista.

Looge välja, mis toimub stseenide taga, kui teie e-posti programm saab POP-kontosse postituse. Esiteks peab see serveriga ühenduse võtma.

Tere, see on mina

Tavaliselt küsib POP-server sissetulevate ühenduste porti 110 . POP-kliendiga (teie e-posti programmiga) ühendamisel loodetavasti vastata + OK pop.philo.org valmis või midagi sarnast. + OK näitab, et kõik on "OK". Selle negatiivne ekvivalent on -ERR , mis tähendab, et midagi on valesti läinud. Võib-olla on teie e-posti klient juba näidanud üht neist negatiivsetest serverite vastustest.

Logimine sisse

Nüüd, kui server on meile tervitanud, peame oma kasutajanime kasutama logima (eeldame, et kasutajanimeks on "valvur", mida server ütleb, trükitakse kaldkirjas):

+ OK pop.philo.org valmis
KASUTAJA KUTS

Kuna selle nimega kasutaja eksisteerib, reageerib POP-server + OK-ga ja võibolla mõnele meeleolule, millest me tegelikult ei hooli. Kui serveris sellist kasutajat ei oleks, oleks see muidugi meid paaniks, kui -ERR kasutaja pole teadlik .

Selle autentimise täielikuks täitmiseks peame ka oma parooli andma. Seda tehakse käsuga "pass":

+ OK, saatke oma parool
laske noplato

Kui sisesta parool õigesti, vastab server + OK suurepärasele paroolile või mis POP-serveri programmeerijale silmas pidades oli. Oluline osa on uuesti + OK . Kahjuks võivad paroolid olla valed. Server märgib seda kuiva -ERR-i kasutajanimega ja parool ei ühti (nagu kasutaksite oma kasutajanime parooliks).

Kuid kui kõik läheb hästi, oleme me serveriga ühenduses ja teame, kes me oleme, seega oleme valmis äsja saabunud kirja otsima.

Sa said e-posti!

Kui oleme serveris meie POP-i kontole edukalt sisse loginud, võime kõigepealt teada saada, kas üldse on uus post ja milline on siis, kui palju.

Nende põhiliste postkastististatistika saamiseks kasutatav käsk on STAT .

Võimalik serveri vastus oleks + OK 18 67042 . Sellisel juhul on tähis + OK järgmine. Vahetult järgneb postkasti sõnumite arv, siis eraldatakse tühimärgiga postkasti suurus oktetides (oktett on 8 bitti).

STAT
+ OK 18 67042

Kui meil puudub, vastab server + OK 0 0-le . Kuid serveris on 18 uut sõnumit, kuid me saame neid loendit kasutades käsku LIST . Vastuseks näitab server järgmisi vorminguid sõnumeid:

LOEND
+ OK 18 sõnumit (67042 okteeti)
1 2552
2 3297
...
18 3270
.

Sõnumid on loetletud korraga, igaüks järgneb selle suurusele octetes. Nimekiri lõpeb rida iseenesest.

LIST käsk võib võtta sõnumi numbri kui valikuline argument, näiteks LIST 2 . Serveri vastus sellele päringule oleks + OK 2 3297 , sõnumi number, millele järgneb sõnumi suurus. Kui proovite nimekirja kirjast, mis ei ole olemas, näiteks LIST 23 , ei näita serveri kujutlust ja ütleb: -ERR pole sellist sõnumit .

Big Retrieve (ja kustuta)

Nüüd, kui me teame, kui palju kirju meie kontol on ja kui suur see on, on lõpuks aeg nende leidmiseks, et saaksime neid ka lugeda.

Nüüd, pärast seda, kui on teada, kas meil on uus post, on tõeline asi. Sõnumid laaditakse üksteisest välja, kui nende sõnumite arv on RETRi käsu argumendiks.

Server vastab + OK-ga ja sõnumiga, nagu see on, mitmes reas. Sõnum katkeb rida iseenesest. Näiteks:

RETR 1
+ OK 2552 okteeti
Blah!
.

Kui me püüame saada sõnumit, mida ei ole olemas, ei saada me sellist sõnumit -ERR .

Nüüd saame sõnumi kustutada DELE- käsuga. (Me võime loomulikult ka sõnumi kustutada, ilma et oleksite seda alla laadinud, kui see on üks neist päevast).

On hea teada, et server ei puhasta sõnumit kohe. See on lihtsalt märgistatud kustutamiseks. Tegelik kustutamine toimub ainult siis, kui me regulaarselt lõpetame ühenduse serveriga. Nii et ükski post ei lähe kunagi kaduma, kui ühendus ootamatult sureb.

Serveri vastus DELE- käsule on + OK sõnum kustutatud :

DELE 1
+ OK sõnum 1 kustutatud

Kui see on tõesti üks nendest päevadest ja me oleme märkinud kustutamise teate, mida me ei soovi kustutada, on võimalik kõik sõnumid kustutada, kui lähtestatakse kustutamismärgid. RSET- käsk tagastab postkasti asukohariigiks enne, kui me sisse loginud.

Server vastab + OK-ga ja võib-olla ka sõnumite arvule:

RSET
+ OK 18 sõnumit

Pärast kõigi sõnumite allalaadimist ja kustutamist on aeg lahkuda, kasutades käsu QUIT . See puhastab kustutamiseks märgitud sõnumid ja sulgeb ühenduse. Server vastab + OK- ile ja hüvastijätmise sõnumile:

QUIT
+ OK, laupäevani

On võimalik, et server ei saanud sõnumit kustutada. Siis vastab see veale nagu -ERR-teade 2, mida ei kustutata .