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 .