Jak funguje načítání pošty prostřednictvím protokolu Post Office

Za záběry se podívejte na načítání pošty prostřednictvím protokolu Post Office

Protokol Post Office (POP) používaný k načítání pošty ze vzdáleného serveru je velmi jednoduchý protokol. Jednoduchým způsobem definuje základní funkce a je snadno implementovatelná. Samozřejmě je také snadné pochopit.

Zjistěte, co se děje za scénami, když e-mailový program načte poštu v účtu POP. Nejprve se musí připojit k serveru.

Ahoj, to je mě

Server POP obvykle naslouchá portu 110 pro příchozí připojení. Po připojení z POP klienta (e-mailového programu), doufejme, že bude reagovat s připraveným + ok pop.philo.org nebo podobným způsobem. + OK znamená, že všechno je v pořádku. Její negativní ekvivalent je -ERR , což znamená, že se něco pokazilo. Možná, že váš e-mailový klient již ukázal jednu z těchto negativních odpovědí serveru.

Přihlášení k účtu

Nyní, když nás server přivítal, musíme se přihlásit pomocí našeho uživatelského jména (předpokládejme, že uživatelské jméno je "četa", což je na serveru hlášeno kurzívou):

+ OK pop.philo.org připraven
Uživatelská četa

Vzhledem k tomu, že uživatel s tímto jménem neexistuje, server POP reaguje pomocí + OK a možná i nějaký gibberish, o nějž nám opravdu nestaráme. Kdyby na serveru nebyl žádný takový uživatel, samozřejmě by nás panikařila s uživatelem -ERR neznámý .

Aby bylo ověření dokončeno, musíme také zadat heslo. To se provádí příkazem "pass":

+ OK poslat své heslo
pass noplato

Pokud heslo zadáme správně, server reaguje pomocí velkého hesla + OK nebo bez ohledu na programátor serveru POP. Důležitou součástí je opět + OK . Bohužel, hesla mohou být také špatně. Server bere na vědomí, že suché uživatelské jméno a heslo pro uživatele ERR neodpovídají (jako byste jako heslo použili své uživatelské jméno).

Pokud se vše udělalo v pořádku, jsme však na serveru a víme, kdo jsme, takže jsme připraveni podívat se na nově přijatou poštu.

Máte poštu!

Poté, co jsme se úspěšně přihlásili k našemu POP účtu na serveru, můžeme nejprve chtít vědět, zda je vůbec nějaká nová pošta a kolikrát.

Příkazem používaným k načtení těchto základních statistik poštovní schránky je STAT .

Možná odpověď serveru bude + OK 18 67042 . V takovém případě záleží na tom, co následuje po znamení + OK . Bezprostředně následuje počet zpráv v poštovní schránce a pak oddělený bílou barvou je velikost poštovní schránky v oktetech (oktet je 8 bitů).

STAT
+ OK 18 67042

Pokud není žádná pošta, server reaguje pomocí + OK 0 0 . Vzhledem k tomu, že se na serveru nachází 18 nových zpráv, můžeme je vypsat pomocí příkazu LIST . V odpovědi server uvádí zprávy ve formátu:

SEZNAM
+ OK 18 zpráv (67042 oktetů)
1 2552
2 3297
...
18 3270
.

Zprávy jsou uvedeny jeden po druhém, každý následovaný jeho velikostí v oktetech. Seznam končí pouze po řádku na řádku.

Příkaz LIST může přijmout číslo zprávy jako volitelný argument, například SEZNAM 2 . Odpověď serveru na tuto žádost bude + OK 2 3297 , číslo zprávy následuje velikost zprávy. Pokud se pokusíte vypsat zprávu, která neexistuje, jako je LIST 23 , server neukazuje žádnou fantazii a říká: -ERR žádná taková zpráva .

Big Retrieve (a vymazání)

Nyní, když víme, kolik zpráv je na našem účtu a jak velké jsou, je konečně čas načíst je, abychom je mohli také číst.

Teď, když zjistíme, zda máme novou poštu, přijde skutečná věc. Zprávy jsou načteny jeden po druhém s jejich číslem zprávy jako argument pro příkaz RETR .

Server reaguje správcem + OK a zprávou v několika řádcích. Zpráva se ukončí o dobu na řádku sama. Například:

RETR 1
+ OK 2552 oktetů
Blah!
.

Pokud se pokusíme dostat zprávu, která neexistuje, dostaneme -ERR žádnou takovou zprávu .

Nyní můžeme smazat zprávu pomocí příkazu DELE . (Můžeme samozřejmě zprávu také vymazat, aniž bychom ji vybrali, pokud je to jeden z těchto dnů).

Je dobré vědět, že server neodstraní zprávu okamžitě. Označuje se pouze pro smazání. Skutečné odstranění se objeví pouze tehdy, když pravidelně ukončíme připojení k serveru. Takže žádná poštovní zásilka se nikdy neztratí, pokud náhle zemře náhle spojení.

Odpověď serveru na příkaz DELE je + OK smazána zpráva :

DELE 1
+ OK zpráva 1 smazána

Pokud je skutečně jeden z těchto dní a my jsme označili zprávu pro smazání, kterou nechceme smazat, je možné všechny zprávy vymazat resetováním značek odstranění. Příkaz RSET vrátí poštovní schránku do stavu, ve kterém byl, dříve než jsme se přihlásili.

Server reaguje pomocí + OK a možná i počtu zpráv:

RSET
+ OK 18 zpráv

Poté, co jsme načítali a odstranili všechny zprávy, je čas na rozloučení s použitím příkazu QUIT . Tím se odstraní zprávy označené k odstranění a připojení bude ukončeno. Server reaguje zprávou + OK a rozloučenou:

PŘESTAT
+ OK, počkat

Je možné, že server nemohl odstranit zprávu. Pak bude reagovat s chybou, jako je zpráva -ERR 2, která nebyla odstraněna .