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

Internet Message Access Protocol


Kapitola 5. Příkazy autentizovaného stavu

Obsah

5.1. Příkaz CREATE
5.2. Příkaz DELETE
5.3. Příkaz SELECT
5.4. Příkaz EXAMINE
5.5. Příkaz RENAME
5.6. Příkaz SUBSCRIBE
5.7. Příkaz UNSUBSCRIBE
5.8. Příkaz APPEND
5.9. Příkaz LIST
5.10. Příkaz LSUB
5.11. Příkaz STATUS

Časová náročnost kapitoly: 30 minut
    Protokol IMAP přechází do autentizovaného stavu, buď po autentizaci příkazem LOGIN, nebo AUTHENTICATE, nebo přímo po navázání TCP spojení, pokud server odeslal zprávu PREAUTH. V autentizovaném stavu může uživatel provádět veškeré operace s e-mailovými zprávami a poštovními složkami. Na rozdíl od protokolu POP umožňuje protokol IMAP vytvářet na serveru složky a do nich jednotlivé zprávy zařazovat a dále s nimi pracovat.

5.1. Příkaz CREATE


    Příkaz CREATE vytvoří složku zadaného jména.
parametry: jméno složky
data: nejsou specifikována žádná data pro tento příkaz
výsledek:
          OK - složka vytvořena
          NO - vytváření selhalo: nemohu vytvořit složku s tímto názvem
          BAD - neznámý příkaz nebo špatný argument

Příklad:
    C: A003 CREATE vyridit/
    S: A003 OK CREATE completed
    C: A004 CREATE wiridit/tonda
    S: A004 OK CREATE completed

5.2. Příkaz DELETE


    Příkaz DELETE trvale odstraní složku zadaného jména.
parametry: jméno složky
data: nejsou specifikována žádná data pro tento příkaz
výsledek:
          OK - složka smazána
          NO - mazání selhalo: nemohu smazat složku s tímto názvem
          BAD - neznámý příkaz nebo špatný argument

Příklad:
    C: A683 DELETE viridit
    S: A683 OK DELETE completed

5.3. Příkaz SELECT


    Příkaz SELECT vybere složku, se kterou bude klient dále pracovat. Server vrátí neoznačené odpovědi s informacemi o poštovní složce a dále vlastní odpověď na příkaz SELECT.
parametry: jméno složky
data: neoznačená odpověď
    s povinnými položkami
          FLAGS    definuje vlastnosti složky
          <n> EXISTS    počet zpráv ve složce
          <n> RECENT    počet zpráv přidaných do složky od posledního čtení
          OK [UIDVALIDITY <n>]    Hodnota platného unikátního identifikátoru.
    s volitelnými položkami
          UNSEEN    Identifikátor první nepřečtené zprávy ve složce
          PERMANENTFLAGS    seznam nastavení, které může klient změnit permanentně
výsledek:
          OK - výběr dokončen, přechází se do vybraného stavu
          NO - výběr selhal, zůstává v autentizovaném stavu: žádná taková složka, není možno přistupovat ke schránce
          BAD - neznámý příkaz nebo špatný argument

Příklad:
    C: A142 SELECT INBOX
    S: * 172 EXISTS
    S: * 1 RECENT
    S: * OK [UNSEEN 12] Message 12 is first unseen
    S: * OK [UIDVALIDITY 3857529045] UIDs valid
    S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
    S: * OK [PERMANENTFLAGS (\Deleted \Seen \*)] Limited
    S: A142 OK [READ-WRITE] SELECT completed

5.4. Příkaz EXAMINE


    Příkaz EXAMINE je obdobný příkazu SELECT s tím rozdílem, že se složka otevře pouze v modu pro čtení.
parametry: jméno složky
data: neoznačená odpověď
          FLAGS    definuje vlastnosti složky
          <n> EXISTS    počet zpráv ve složce
          <n> RECENT    počet zpráv přidaných do složky od posledního čtení
          OK [UIDVALIDITY <n>]    Hodnota platného unikátního identifikátoru.
    s volitelnými položkami
          UNSEEN    Identifikátor první nepřečtené zprávy ve složce
          PERMANENTFLAGS    seznam nastavení, které může klient změnit permanentně
výsledek:
          OK - výběr dokončen, přechází se do vybraného stavu
          NO - výběr selhal, zůstává v autentizovaném stavu: žádná taková složka, není možno přistupovat ke schránce
          BAD - neznámý příkaz nebo špatný argument

Příklad:
    C: A932 EXAMINE pracovni
    S: * 17 EXISTS
    S: * 2 RECENT
    S: * OK [UNSEEN 8] Message 8 is first unseen
    S: * OK [UIDVALIDITY 3857529045] UIDs valid
    S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
    S: * OK [PERMANENTFLAGS ()] No permanent flags permitted
    S: A932 OK [READ-ONLY] EXAMINE completed

5.5. Příkaz RENAME


    Příkaz RENAME přejmenuje složku zadaného jména na nové jméno.
parametry: jméno existující složky, nové jméno složky
data: nejsou specifikována žádná data pro tento příkaz
výsledek:
          OK - přejmenování dokončeno
          NO - přejmenování selhalo: nemohu přejmenovat složku s tímto názvem
          BAD - neznámý příkaz nebo špatný argument

Příklad:
    C: A683 RENAME pracovni vyridit
    S: A683 OK RENAME completed

5.6. Příkaz SUBSCRIBE


    Příkaz SUBSCRIBE přidá poštovní složku do seznamu aktivních nebo odebíraných schránek, které vrací příkaz LSUB.
parametry: jméno složky
data: nejsou specifikována žádná data pro tento příkaz
výsledek:
          OK - přidání dokončeno
          NO - přidání selhalo
          BAD - neznámý příkaz nebo špatný argument

Příklad:
    C: A002 SUBSCRIBE #news.comp.mail.mime
    S: A002 OK SUBSCRIBE completed

5.7. Příkaz UNSUBSCRIBE


    Příkaz UNSUBSCRIBE odebere poštovní složku ze seznamu aktivních nebo odebíraných schránek.
parametry: jméno složky
data: nejsou specifikována žádná data pro tento příkaz
výsledek:
          OK - odebrání dokončeno
          NO - odebrání selhalo
          BAD - neznámý příkaz nebo špatný argument

Příklad:
    C: A002 UNSUBSCRIBE #news.comp.mail.mime
    S: A002 OK UNSUBSCRIBE completed

5.8. Příkaz APPEND


    Příkaz APPEND přidá zadanou zprávu na konec určené poštovní složky. Pokud jsou použity volitelné parametry, nastaví se zprávě jejich parametry.
parametry:
          jméno složky
          volitelně příznaky
          volitelně datum/čas
          zpráva ve formátu RFC 822
data: nejsou specifikována žádná data pro tento příkaz
výsledek:
          OK - přidání dokončeno
          NO - přidání selhalo
          BAD - neznámý příkaz nebo špatný argument

Příklad:
    C: A003 APPEND saved-messages (\Seen) {310}
    C: Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)

Zde klient odesílá vlastní zprávu vytvořenou podle standardů popsaných v kapitole Aplikační protokoly Internetu

    C: From: Fred Foobar <foobar@Blurdybloop.COM>
    C: Subject: afternoon meeting
    C: To: mooch@owatagu.siam.edu
    C: Message-Id: <B27397-0100000@Blurdybloop.COM>
    C: MIME-Version: 1.0
    C: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
    C:
    C: Hello Joe, do you think we can meet at 3:30 tomorrow?
    C:
    S: A003 OK APPEND completed

5.9. Příkaz LIST


    Příkaz LIST vrátí podmnožinu jmen z množiny všech dostupných jmen složek uživatele.
parametry:
          kontext    doplňuje serveru potřebný kontext schránky
          jméno schránky    znak "%" má v tomto případě shodný význam jako znak "*"
data: neoznačená odpověď: LIST
výsledek:
          OK - seznam vytvořen
          NO - vytvoření seznamu selhalo
          BAD - neznámý příkaz nebo špatný argument

Příklad:
    C: A202 LIST "~/Mail/" "%"
    S: * LIST (\Noselect) "/" ~/Mail/foo
    S: * LIST () "/" ~/Mail/meetings
    S: A202 OK LIST completed

5.10. Příkaz LSUB


    Příkaz LSUB je shodný s příkazem LIST ale zobrazí pouze složky přihlášené příkazem SUBSCRIBE.
parametry:
          kontext
          jméno schránky
data: neoznačená odpověď: LSUB
výsledek:
          OK - seznam vytvořen
          NO - vytvoření seznamu selhalo
          BAD - neznámý příkaz nebo špatný argument

Příklad:
    C: A002 LSUB "#news." "comp.mail.*"
    S: * LSUB () "." #news.comp.mail.mime
    S: * LSUB () "." #news.comp.mail.misc
    S: A002 OK LSUB completed

5.11. Příkaz STATUS


    Příkaz STATUS vyžádá informace o stavu poštovní složky zadaného jména.
parametry: jméno složky
data: neoznačená odpověď: STATUS
výsledek:
          OK - STATUS dokončen
          NO - STATUS selhal
          BAD - neznámý příkaz nebo špatný argument

Příklad:
    C: A042 STATUS pracovni (UIDNEXT MESSAGES)
    S: * STATUS pracovni (MESSAGES 231 UIDNEXT 44292)

v odpovědi je počet zpráv a první nepoužitý unikátní identifikátor

    S: A042 OK STATUS completed




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