Hogyan érheti el a postaládát a Post Office protokollon keresztül?

A jelenetek mögött Nézze meg a levél kézbesítését a Post Office protokollon keresztül

A Post Office Protocol (POP) a távoli kiszolgálóról történő levélküldéshez használt eszköz egy nagyon egyszerű protokoll. Az alapfunkciókat egyszerűen határozza meg, és könnyen megvalósítható. Természetesen könnyen érthető is.

Nézzük meg, mi történik a színfalak mögött, amikor az e-mail programot POP-fiókba küldi. Először meg kell kapcsolódnia a kiszolgálóhoz.

Szia, én vagyok

Általában a POP szerver 110-es portra figyeli a bejövő kapcsolatokat. A POP kliens (e-mail program) kapcsolódásakor remélhetőleg a + OK pop.philo.org készen áll, vagy valami hasonló. Az + OK azt jelzi, hogy minden rendben van. Negatív egyenértéke az -ERR , ami azt jelenti, hogy valami elromlott. Talán az e-mail kliens már bemutatta Önnek a negatív szerver válaszok egyikét.

Bejelentkezik

Most, hogy a szerver üdvözölt minket, be kell jelentkeznünk a felhasználónevünk használatával (feltételezzük, hogy a felhasználónév "plató", amit a kiszolgáló mond, dőlt betűkkel nyomtatva):

+ OK pop.philo.org készen áll
FELHASZNÁLÓ szakaszt

Mivel egy ilyen névvel rendelkező felhasználó létezik, a POP szerver + OK- val válaszol, és talán valami dübörgést, amelyet nem nagyon törődünk. Nem volt ilyen felhasználó a kiszolgálón, természetesen pánikot okozna az -ERR felhasználóval ismeretlen .

A hitelesítés befejezéséhez meg kell adnunk a jelszavunkat is. Ez a "pass" parancssal történik:

+ OK küldje el jelszavát
pass noplato

Ha helyesen írjuk be a jelszót, a kiszolgáló válaszol a + OK nagyszerű jelszóval, vagy bármi, amit a POP szerver programozója szem előtt tartott. A fontos rész ismét a + OK . Sajnos a jelszavak is rosszak lehetnek. A kiszolgáló ezt a száraz -ERR felhasználónévvel és jelszóval nem egyezik meg (mintha felhasználónevét jelszóként használná).

Ha minden rendben van, akkor kapcsolatba kerülünk a szerverrel és tudjuk, hogy ki vagyunk, ezért készen állunk az újonnan érkezett levelek megtekintésére.

Megkaptuk a levelezést!

Miután sikeresen bejelentkeztünk a POP-fiókunkra a szerveren, először azt szeretnénk tudni, hogy egyáltalán van-e új levél, és akkor mennyi lehet.

Az alapszintű postafiók-statisztikák lekéréséhez használt parancs a STAT .

Lehetséges szerver válasz lenne + OK 18 67042 . Ebben az esetben nem számít, hogy mi követi az + OK jelet. Az üzenetek száma közvetlenül a postaládában történik, majd egy üres hely által elválasztva, a postafiók méretét oktett formában (egy oktett 8 bit).

STATISZTIKA
+ OK 18 67042

Ha nincs levél, a kiszolgáló a + OK 0 0 jelzéssel válaszol. Mivel 18 új üzenet érkezik a szerveren, azonban a LIST paranccsal felsorolhatjuk azokat. Válaszként a kiszolgáló az alábbi formátumban listázza az üzeneteket:

LISTA
+ OK 18 üzenet (67042 oktett)
1 2552
2 3297
...
18 3270
.

Az üzenetek egyenként szerepelnek, mindegyiket követi a méretét oktettekben. A lista önmagában egy vonalon végződik.

A LIST parancs az üzenetek számát opcionális argumentumként veszi fel, például a 2. listát. A szerver erre a kérésre válaszolva + 2 3297 , az üzenet száma, majd az üzenet mérete. Ha megpróbál listázni egy olyan üzenetet, amely nem létezik, mint például a LIST 23 , akkor a szerver nem mutat fantáziát, és azt mondja: -ERR nem ilyen üzenet .

A nagy letöltés (és a törlés)

Most, hogy tudjuk, hogy hány üzenet van a számlánkban, és mennyire nagyok, végre be kell tölteni őket, hogy olvassuk őket is.

Most, miután megtudtuk, új levelünk van-e, az igazi jön. Az üzeneteket egyenként, az üzenetek számával, a RETR parancs argumentumával töltik le.

A szerver a + OK-t és az üzenetet úgy válaszolja meg, ahogy van, több sorban. Az üzenetet egy sorban lévő idõszak végzi. Például:

RETR 1
+ OK 2552 oktett
Blah!
.

Ha megpróbálunk olyan üzenetet kapni, ami nem létezik, akkor nem kapunk ilyen üzeneteket .

Most már az DELE parancs segítségével törölhetjük az üzenetet. (Természetesen az üzenetet is törölhetjük, anélkül, hogy lefuttatnánk, ha az ilyen napok egyike).

Jó tudni, hogy a kiszolgáló nem azonnal törli az üzenetet. Ez csak törléssel van megjelölve. A tényleges törlés csak akkor történik, ha rendszeresen abbahagyjuk a kapcsolatot a kiszolgálóval. Így például egyetlen levél sem veszik el, ha például a kapcsolat hirtelen meghal.

A kiszolgáló válasza a DELE parancsra + OK üzenet törölve :

DELE 1
+ OK üzenet 1 törölve

Ha valóban az egyik ilyen nap, és jelöltünk egy törlési üzenetet, amelyet nem akarunk törölni, az összes üzenetet visszavonhatjuk a törlési jelek visszaállításával. Az RSET parancs visszaküldi a postaládát az állapotba, amelybe be volt jelentkezve.

A szerver + OK-val és esetleg az üzenetek számával válaszol:

RSET
+ OK 18 üzenet

Miután letöltöttük és töröltük az összes üzenetet, itt az ideje, hogy búcsúzzunk a QUIT paranccsal. Ez törli a törlésre kijelölt üzeneteket és bezárja a kapcsolatot. A szerver a + OK-val és a búcsú üzenettel válaszol:

QUIT
+ OK bye, bye

Lehetséges, hogy a szerver nem tudta törölni az üzenetet. Ezután egy olyan hibával fog reagálni, mint a -ERR 2. üzenet, amelyet nem töröltek .