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.
4.1.1. STAT
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
4.1.2. LIST [ID zprávy]
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
4.1.3. RETR zpráva
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: .
4.1.4. DELE zpráva
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
4.1.5. NOOP
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
4.1.6. RSET
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ě odstaněny z POP3 serveru.
Parametry: žádné
Možné odpovědi:
+OK
Příklad:
Klient: RSET
Server: +OK
4.1.7. QUIT
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
4.2. Cvičení
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.