předcházející následující

Post Office Protocol verze 3 - POP3


Kapitola 4. Transakční stav

Obsah

4.1. Popis příkazů
4.1.1. STAT
4.1.2. LIST
4.1.3. RETR
4.1.4. DELE
4.1.5. NOOP
4.1.6. RSET
4.1.7. QUIT

Č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.

4.1. Popis příkazů

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: .

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.

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ě odstraně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.




předcházející následující