Obsah
Časová náročnost kapitoly: 25 minut
Ve chvíli, kdy se klient identifikuje a autorizuje, POP3 server přechází do stavu transakčního. V tomto stavu server otevře uživatelovu poštovní schránku a následně ji uzamkne pro další připojení. Nyní může klient opakovaně používat všechny příkazy pro práci se schránkou, nebo použít příkaz QUIT a POP3 server přechází do stavu aktualizačního.
Příkaz STAT slouží k získání informací
o schránce, vrací počet zpráv ve schránce a jejich velikost v
bajtech.
Parametry: žádné
Možné odpovědi:
+OK pocet_zprav velikost_v_bajtech
Příklad:
Klient: STAT
Server:
+OK 2 310
K vypsání unikátních identifikátorů
všech zpráv a jejich velikostí (pokud je zadán parametr, tak se
vypisují pouze informace o zprávě identifikované pomocí ID zprávy)
slouží příkaz LIST
Parametry:
ID
zprávy - nepovinný parametr, unikátní identifikátor zprávy, která
nesmí být označena jako smazaná
Možné odpovědi:
+OK
ID zpravy velikost v bajtech
-ERR zadna
takova zprava
Příklad:
Klient: LIST
Server:
+OK 2 zpravy (310 bajtu)
Server: 1 120
Server: 2 190
Server:
.
...
Klient:
LIST 1
Server: +OK 1 120
...
Klient: LIST 3
Server:
-ERR neplatne cislo zpravy
Načtení obsahu zprávy ze serveru
zajišťuje příkaz RETR. Platí u něj pravidlo pro víceřádkovou odpověď
zakončenou znaky <CRLF>.<CRLF>
Parametry:
zpráva - povinný parametr, unikátní
identifikátor zprávy, která nesmí být označena jako smazaná
Možné
odpovědi:
+OK zbytek zpravy nasleduje
-ERR zadna takova zprava
Příklad:
Klient: RETR 1
Server: +OK 120
Server:
nyní se posílá obsah zprávy číslo 1
Server:
.
Poznámka:
Některé implementace protokolu
POP3 po použití příkazu RETR označí zprávu jako smazanou. Proto pokud
si přejeme zanechat kopii zprávy na serveru, je potřeba takto
označené zprávy odznačit příkazem RSET.
Pro označení zprávy jako smazané ze
serveru se používá příkaz DELE. Takovéto smazání zprávy je ještě
možné vrátit příkazem RSET.
Parametry:
zpráva
- povinný parametr, unikátní identifikátor zprávy, která nesmí být
označena jako smazaná
Možné odpovědi:
+OK
zprava smazana
-ERR zadna takova zprava
Příklad:
Klient: DELE 1
Server: +OK zprava 1 smazana
...
Klient: DELE 1
Server:
-ERR zprava je jiz smazana
Každá implementace POP3 serveru musí
povinně obsahovat příkaz NOOP. Tento příkaz slouží k ověření
funkčnosti serveru. Na příkaz NOOP musí vždy server odpovědět +OK.
Parametry: žádné
Možné odpovědi:
+OK
Příklad:
Klient: NOOP
Server:
+OK
Příkazem RSET odznačíme zprávy, které
jsou označeny jako smazané. Odznačit lze pouze všechny zprávy
najednou. Zprávu lze označit jako smazanou příkazem DELE. Zprávy
označené jako smazané, jsou po použití příkazu QUIT nenávratně
odstraněny z POP3 serveru.
Parametry: žádné
Možné
odpovědi:
+OK
Příklad:
Klient: RSET
Server:
+OK
Ukončení stavu transakčního a přechod
do stavu aktualizačního se provádí příkazem QUIT. Ve stavu
aktualizačním POP3 server odstraní všechny zprávy označené jako
smazané a následně ukončí TCP spojení.
Parametry: žádné
Možné odpovědi:
+OK
-ERR
nektere smazane zpravy se nepodarilo odstranit
Příklad:
Klient: QUIT
Server:
+OK POP3 server ukoncuje spojeni
Popište
sekvenci příkazů, kterou přečtete zprávu z poštovní schránky,
následně ji vymažete ze serveru a korektně ukončíte TCP spojení.
Zvolený postup ověřte pomocí klienta služby Telnet.