38ZOBRAZENÍ

Tak jako musí (nebo aspoň by měli), řidiči dodržovat pravidla silničního provozu, tak jsou i v oblasti informatiky definována určitá pravidla. Zde se nejedná sice o žádné vyhlášky nebo sbírky zákonů a paragrafů, ale existují protokoly. Protokol je souhrn pravidel pro určitý druh komunikace, definuje veškeré stavy, které mohou nastat a také reakce na vzniklé situace. Velmi jednoduše řečeno je protokol jakási kuchařka pro komunikaci elektronických zařízení, nebo jejich částí. Ani email není výjimka, existuje několik protokolů, které definují odesílání, přijímání a správu emailů. A právě na způsob jak přijmout email se dále podíváme podrobněji.

Pokud chcete poslat email, máte na výběr velký počet emailových klientů a webových rozhraní poskytovatele emailové schránky. Jakmile napíšete email a stisknete tlačítko odeslat, je pomocí protokolu SMTP (Simple Mail Transfer Protocol) email z vašeho počítače odeslán přes internet na emailový server vašeho poskytovatele emailu. A Vás jako odesílatele už nemusí nic ohledně tohoto emailu zajímat. Jakmile dojde email na server, je odeslán na emailový server příjemce. Pokud se role změní a jste nyní jako příjemce, pak opět pomocí nějakého emailového klienta nebo webového rozhraní se přihlásíte a přečtete si vaše emaily.

A právě na přihlášení a přečtení emailu se podíváme podrobněji. Existují dva protokoly a to POP3 a IMAP, oba pro uživatele zprostředkují téměř stejnou službu, ale jejich chování je docela odlišné.

Nejprve začneme protokolem POP3. Protokol POP3 byl standardizován v roce 1996 a přesně znění můžete najít v dokumentu RFC 1939. Pro spojení využívá protokoly TCP a této komunikaci je vždy vyhrazen port číslo 110. Komunikace funguje na principu klient - server, klient posílá dotazy a server na ně reaguje a posílá odpovědi. V protokolu POP3 jsou definovány přesné tvary dotazů a odpovědí, takže pro programátory není zas tak složité ošetřit všechny stavy.

Pokud server pošle odpověď, která začíná +OK, je vše pořádku, pokud začíná –ERR xx, došlo k nějaké chybě. XX je číslo , které nám konkrétní chybu identifikuje . Nejprve je nutné ustanovit spojení mezi klientem a serverem, jakmile je spojení aktivní, následuje autentizací část, kdy klient zašle přístupové jméno a heslo a server je zpracuje a odpoví. Pokud je vše v pořádku, má nyní klient volný přístup ke svým emailům a může opět pomocí příkazů s nimi pracovat (číst, mazat,…). Pokud chcete ukončit práci se schránkou, stačí se opět zaslaným dotazem odlogovat.

Zde jsou vypsané základní příkazy a dotazy, které každý pop3 server a pop3 klient obsluhuje. Při autentizaci je možné použít příkazů USER a následně PASS nebo pouze jednoho příkazu APOP. Po té se při práci s emaily používají STAT, LIST, RETR, DELE, NOOP, RSET. Dále ještě příkaz, který nebyl zapsán do RFC dokumentu, ale dnes již je používání téměř všemi klienty. Je to TOP. Pro odlogování a ukončení práce slouží klasický příkaz QUIT. Ještě malá poznámka, každý řádek dotazu musí být ukončen pomocí CRLF. Nyní trochu podrobněji k příkazům a dotazům.

USER login – odeslání logovacího jména

PASS heslo – odeslání vašeho hesla

APOP login hash – odeslaní loginu a hashe, který tvoří razítko serveru a vaše heslo, razítko serveru je součástí první odpovědi serveru při připojení klienta.

STAT – server zašle v odpovědi počet emailu ve schránce a součet jejich velikostí

LIST x – v odpovědi bude na každém řádku informace o jednom emailu ve schránce, pokud pošlete nepovinný parametr x, tak server pošle pouze informace o emailu číslo x

RETR x – server pošle celý email číslo x, pokud je email příliš dlouhý, tak se posílá na části. Konec emailu je označen tečkou na novém řádku

DELE x – email číslo x je označen jako smazaný

NOOP – prázdný dotaz, server pouze odpoví +OK

RSET – obnoví emaily označené jako smazané

TOP x y – zobrazí hlavičku emailu číslo x a k tomu y řádků emailu

Nyní si trochu přiblížíme druhý protokol. IMAP vznikl roku 1986, jako protokol pro vzdálenou správu poštovní schránky. Od té doby se na svět dostaly různé nové verze a specifikace a v současnosti se používá verze 4 revize 1, která pochází z roku 1996. Přesné znění si můžete přečíst v dokumentu RFC 3501.

Protokol IMAP využívá protokoly TCP a je mu rezervován port číslo 143, je také ještě možné použít šifrování pomocí SSL a zde pak je pro komunikaci k dispozici port číslo 993. U protokolu IMAP je komunikace řešena podobně jako u POP3 na bázi klient - server, tedy dotaz - odpověď. Klient také vysílá dotazy, jsou podobně jako v minulém případě, ale je zde několik i odlišností. Server odpovídá v kladném případě OK a následuje případná odpověď, pokud dojde k nějaké chybě, server odpoví zprávou BAD. Základních příkazů a dotazů je o něco více než v minulém případě, ale protokol IMAP také podporuje, už ve své základní podobě, práci se složkami.

Pro přihlášení slouží dva příkazy a to LOGIN a AUTHENTICATE. Je zde jeden úplně nový typ příkazu a to příkaz CAPABILITIES, který zjišťuje aktuální možnosti serveru. Pro práci se složkami jsou k dispozici příkazy CREATE, DELETE, RENAME a LIST. Při práci se samotnými zprávami se využívají příkazy COPY, FETCH, STORE, CLOSE. Další novinkou je vyhledávání v emailech funkcí SEARCH. A posledním příkazem je ukončení práce s emailovou schránkou odlogování , což zajišťuje příkaz LOGOUT.

Významy jednotlivých příkazů jistě není těžké si odvodit z jejich anglických názvů. A vesměs jsou stejné nebo podobné jako v minulém případě a číst dvakrát výpis, v některých případech téměř totožných, funkcí není příliš záživné. Zvláště proto, že tento článek je určen široké veřejnosti.

Teď už víme, jak fungují oba protokoly, ale ještě není zodpovězena jedna důležitá otázka, a to čím se vlastně tolik od sebe liší? I zde platí, když dva dělají totéž, není to totéž. Hlavní odlišností protokolu IMAP je to, že pokud chcete přečíst si email, tak protokol POP3 jej napřed stáhne do vašeho počítače a veškerá práce s ním se pak děje u vás v počítači, zatímco protokol IMAP nic do vašeho počítače nestahuje a veškeré operace se provádějí na straně serveru. To je v případě časově neomezeného připojení výhoda, nemusíte nic stahovat do počítače a mít následně obavy ze zavlečení nějakého viry do počítače.

Od této skutečnosti se odvíjí i výhody a nevýhody obou protokolů. Při používání protokolu POP3 si uživatel stahuje své emaily k sobě do počítače a až pak si je může v klidu přečíst, takže nezatěžuje nebo již nepotřebuje připojení k internetu. Tím také odpadá možnost hledání v emailech na serveru, které IMAP podporuje.

Dalším rozdílem je možnost připojení více uživatelů k jedné emailové schránce v případě IMAPu oproti pouze jednomu uživateli u POP3. Tuto možnost využijí spíše ve větších organizacích nebo tam, kde sdílený email používají lidé jako skladiště informací nebo dat pro více lidí.

Dalším bodem, kterým IMAP vylepšuje své služby je získávání informací o stavu zprávy. A ještě jeden docela zásadní bod, který POP3 nemá implementován je podpora více schránek, vytváření nových, přejmenování a mazání schránek. A také je přesouvat emaily mezi jednotlivými schránkami. IMAP má tedy funkční výhody oproti svému konkurentovi, ale jeho implantace v plném rozsahu je velmi složitá a tak je zbytečné používat na obyčejné čtení emailů ty nejmodernější možnosti. Stejně jako si nebude kupovat software za několik tisíc korun na to, abyste např. napsali a vytiskli stránku textu. A také při nedokonalém naprogramování aplikace pro protokol IMAP, dochází k velmi velkému vytížení serveru.

Nyní už byste měli mít alespoň základní představu o tom, že pouhé přečtení emailu není zase tak jednoduchá záležitost z pohledu aplikaci a jejich vzájemné komunikace. Pokud byste chtěli se dozvědět něco více o těchto protokolech, nebo o některých jiným, tak doporučuji dokumenty RFC, jsou sice v angličtině, ale naleznete je docela snadno např. zde - http://www.rfc-editor.org