12.1 Doručování pošty v síti Internet
Předchozí | Kapitola 12 Odesílání a příjem pošty | Další

## 12.1 Doručování pošty v síti Internet

Pro pochopení problematiky správného nastavení vašeho poštovního serveru je nutno znát základní principy doručování elektronické pošty v Internetu. Tato kapitola obsahuje ve stručné podobě nejdůležitější informace o této problematice. Zkušení síťoví administrátoři mohou tuto kapitolu přeskočit.

### MX záznamy

Pro každou internetovou doménu (např. `firma.cz`) musí být zaneseny příslušné záznamy do DNS (DNS je celosvětová distribuovaná databáze doménových jmen). Jedním z těchto údajů je takzvaný záznam MX (Mail eXchanger neboli poštovní server). Záznamy pro doménu `firma.cz` by mohly vypadat např. takto:

    firma.cz                  MX      10      mail.firma.cz
                              MX      20      smtp.poskytovatel.cz
    mail.firma.cz             A               215.75.128.33
    smtp.poskytovatel.cz      A               215.75.128.1

První dva záznamy říkají, že poštovním serverem s preferencí 10 je počítač `mail.firma.cz` a serverem s preferencí 20 počítač `smtp.poskytovatel.cz`. Preference má význam ceny serveru. Čím nižší preference, tím vyšší bude priorita tohoto serveru — z toho vyplývá, že server `mail.firma.cz` je poštovním serverem domény `firma.cz` s nejvyšší prioritou a server `smtp.poskytovatel.cz` serverem s druhou nejvyšší prioritou pro tuto doménu. MX záznamů pro danou doménu může být definován libovolný počet. Mají-li dva nebo více záznamů stejnou prioritu, pak se náhodně vybírá jeden z těchto serverů (rozdělení zátěže — load balancing).

Druhé dva záznamy již nejsou typu MX, ale typu A (Address). Ty říkají, jakou IP adresu má počítač daného jména (MX záznam totiž nemůže být nastaven na IP adresu, ale pouze na jméno serveru).

### Doručení e-mailu

Co se tedy děje s e-mailem na cestě od odesílatele k příjemci?

Poštovní klient odesílatele odešle e-mail na svůj SMTP server. Server zkontroluje adresu příjemce, a pokud je doména na tomto serveru lokální, uloží jej přímo do příslušné schránky. Není-li doména příjemce lokální, SMTP server zjistí z DNS (vyšle DNS dotaz) jméno primárního poštovního (SMTP) serveru cílové domény a pošle e-mail na tento server. Ten jej uloží do schránky, odkud si jej příjemce svým poštovním klientem stáhne a přečte.

Jestliže odesílající SMTP server zjistí, že je primární server cílové domény nedostupný, pokusí se kontaktovat sekundární server (resp. server s nejbližší vyšší preferencí) a odeslat e-mail na něj. Není-li dostupný žádný ze serverů uvedených v MX záznamech pro cílovou doménu, bude odeslání v předdefinovaných intervalech opakovat, a pokud nebude v určitém čase úspěšný, vrátí e-mail odesílateli jako nedoručitelný.

Je-li např. primární server domény nedostupný, a sekundární dostupný, odešle se e-mail na sekundární server. Principiálně tedy může jako sekundární (terciární atd.) server fungovat libovolný SMTP server v Internetu (proč jen principiálně, bude objasněno dále).

### Odesílání pošty přes jiný SMTP server (Relaying)

Cesta e-mailu od odesílatele k příjemci může mít ještě druhou podobu. Klient odešle e-mail na svůj SMTP server, který jej předá jinému SMTP serveru a ten jej pak doručí do cílové domény výše popsaným způsobem. Toto předávání veškeré odchozí pošty se nazývá relaying (předávání na nadřazený server).

Výhodou je, že odeslání odchozího e-mailu je jednorázová akce (e-maily navíc mohou být řazeny do fronty a odesílány v určitých intervalech po dávkách). Odesílající SMTP server se nemusí zabývat dotazováním DNS na servery cílových domén, opakováním odeslání v případě nedosažitelnosti cílových serverů atd. Toto je velmi užitečné zejména v případě pomalých a vytáčených linek do Internetu — u vytáčené linky se tím ušetří nemalá částka za připojení.

Většina SMTP serverů v Internetu je ale proti relayingu ochráněna, a to z toho důvodu, aby nemohly být zneužity k rozesílání nevyžádaných e-mailů (spamů). Chcete-li tedy odesílat veškerou poštu přes jiný SMTP server, musíte se dohodnout s jeho správcem, aby relaying povolil (typicky na základě kontroly IP adresy vašeho serveru nebo ověření jménem a heslem).

### Příkaz ETRN

ETRN je příkaz SMTP protokolu, který slouží k vyžádání pošty uložené na jiném SMTP serveru. Typicky se používá v následujících případech:

1. Zákazník má vlastní doménu (např. `firma.cz`) a jeho server je do Internetu připojen vytáčenou linkou. Vytáčená linka musí mít přidělenu pevnou IP adresu. Primární MX záznam pro doménu `firma.cz` je nasměrován na SMTP server poskytovatele Internetu (např. `smtp.poskytovatel.cz`). V okamžiku připojení do Internetu vyšle SMTP server zákazníka na primární server příkaz ETRN, který v podstatě říká: „Teď jsem online, pošli mi poštu.“ Má-li primární server nějaké zprávy pro danou doménu, pak mu je pošle. Pokud ne, může vyslat zápornou odpověď, nebo neodpoví vůbec. Server zákazníka musí mít proto nastavenu určitou dobu (timeout), po níž čekání na odpověď primárního serveru ukončí.

   ### Poznámka

   Po přijetí příkazu ETRN naváže primární server nové spojení na server zákazníka a tímto spojením poštu posílá. Je-li tedy server zákazníka chráněn firewallem, je třeba, aby byl do Internetu zpřístupněn (otevřen) port 25.

2. Předpokládejme, že doména `firma.cz` má primární server `smtp.firma.cz` a sekundární server `smtp2.firma.cz`. Oba tyto servery mají trvalé připojení do Internetu. Za normálních okolností jsou všechny zprávy pro tuto doménu posílány na primární server `smtp.firma.cz`. Jestliže dojde k výpadku tohoto serveru (přetížení, přerušená linka apod.), jsou tyto zprávy posílány na sekundární server `smtp2.firma.cz`. Primární server pak může v pravidelných intervalech vysílat na sekundární server příkaz ETRN, čímž si vyžádá uloženou poštu. Průběh komunikace je shodný jako v předchozím případě (podrobný popis nastavení sekundárního SMTP serveru je popsán v samostatné kapitole 7.10 Nastavení záložního poštovního serveru).

   Tento způsob vyžádání pošty je rychlejší a spolehlivější než čekání, až sekundární server sám poštu pošle (vizte sekci Doručení e-mailu). Navíc je příkaz ETRN použitelný i pro vytáčené linky.

### Doménový koš

Primární server domény nemusí být vždy server, na němž jsou umístěny schránky lokálních uživatelů. Je-li např. firma, které daná doména patří, připojena do Internetu vytáčenou linkou, může mít u poskytovatele Internetu zřízen tzv. doménový koš, což je jedna schránka, do níž se ukládá pošta pro celou doménu. Koncový poštovní server pak může tuto schránku vybírat (v časech či intervalech dle potřeby) a poštu třídit do jednotlivých lokálních schránek. V MX záznamech pro tuto doménu je pak jako primární server uveden SMTP server poskytovatele, u něhož je doménový koš umístěn.

Doménový koš přijímá zprávy z Internetu přes SMTP protokol. Každá zpráva tedy obsahuje jak tělo, tak i SMTP obálku. Doménový koš přijímá pouze tělo zprávy. Informace z obálky se zkopírují do některé z hlaviček zprávy (záleží na nastavení doménového koše).

Kerio MailServer se přihlásí a ověří do doménového koše. Poté zprávy protokolem POP3 stáhne a začne je třídit podle třídicích pravidel nastavených v Kerio MailServeru. Aby se zpráva správně zatřídila, musí obsahovat informaci o příjemci (buď v některé ze speciálních hlaviček nebo v položkách To či Cc). Pokud zpráva žádnou informaci o příjemci neobsahuje, bude systémem vrácena odesílateli. Pouze v případě, že je v Kerio MailServeru nastaveno speciální třídicí pravidlo (kapitola 12.4 Vzdálené POP3 schránky), budou se zprávy bez příjemce ukládat v nastavené schránce.

### Poznámka

Pro třídění pošty doporučujeme nastavit speciální hlavičku `X-Envelope-To:`, protože tato hlavička obsahuje přesné informace o příjemcích. Nemůže se potom stát, že zpráva pro více příjemců přijde každému tolikrát, kolik příjemců zpráva obsahuje.

### Přístup poštovních klientů k uživatelským schránkám

Ke svým poštovním schránkám mohou uživatelé přistupovat různými způsoby:

POP3

  POP3 (Post Office Protocol version 3) je internetový protokol navržený pro stahování pošty ze serveru na jiný server (vizte sekci Doménový Koš) nebo na poštovního klienta. POP3 protokol je definován v RFC 1939.

  POP3 protokol pracuje na bázi klient-server. Komunikaci vždy navazuje klient, dále se dotazy klienta a odpovědi serveru pravidelně střídají, dokud nedojde k ukončení komunikace. Jakmile klient inicializuje komunikaci a provede autentizaci (ověření jménem a heslem), je možné s poštou začít pracovat (stahovat ji na klienta, mazat ji, a podobně).

  Kerio MailServer běžně funguje jako server, ale v případě, že stahuje poštu ze vzdálených POP3 schránek, může fungovat také jako klient.

  POP3 protokol je dnes již poněkud jednoduchý a zastaralý. Umí v podstatě pouze stáhnout poštu do klientské aplikace, umí pracovat pouze s jednou složkou (INBOX). To znamená, že pokud uživatel přesune v klientovi zprávu do jiné složky, bude tato zpráva ze serveru přesunuta (de facto smazána). Obdobně se mailbox chová i v opačném případě. Pokud uživatel má na serveru přístup k více složkám a zprávu z Inboxu přesune do jiné složky, tak se zpráva do klientské aplikace nemůže stáhnout. Obecně lze říci, že je doporučováno využívat pro práci s poštou modernější protokol IMAP. Výhody protokolu IMAP jsou zjevné zejména ze srovnávací tabulky 12.1 Srovnání protokolů POP3 a IMAP.

  Jedinou výhodou použití tohoto protokolu může být ušetření místa na disku serveru. Uživatelé si svou poštu stáhnou lokálně na disk a zde si ji mohou roztřídit do složek, mazat ji atd. Z toho důvodu jsou POP3 účty využívány zejména v případě freemailových služeb, kde mohou uživatelé využívat schránku o několika MB a poštu si více méně pravidelně stahují lokálně na svůj disk. Další výhodou může být snadná možnost práce offline, kterou lze využít v případě časově omezeného připojení do Internetu. Dnes však již téměř všichni poštovní klienti umí pracovat v režimu offline jak s účty typu POP3, tak s IMAP účty.

IMAP

  IMAP (Internet Mail Access Protocol) je internetový protokol používaný, stejně jako protokol POP3, pro připojení k poštovnímu serveru a čtení nebo jiné manipulaci s poštou. IMAP protokol je definován v RFC 3501.

  Protokol IMAP umožňuje uživatelům nejen stahování pošty na svůj počítač (do svého e-mailového klienta), ale také správu účtu přímo na serveru. Díky tomu je možné k účtu přistupovat z různých klientských stanic. Na rozdíl od protokolu POP3 nechává protokol IMAP poštu na serveru a přímo tam lze zprávy s pomocí poštovního klienta číst, rušit a ukládat do nově vytvořených složek, tak jako by byla schránka uložena přímo na disku klienta. Zároveň je možné mít poštu uloženou v poštovním klientovi. Toto řešení je žádoucí především tehdy, pokud uživatel používá časově omezené připojení do Internetu, nebo je z jiných důvodů připojen k serveru jen někdy a je nutné mít k dispozici svou poštu offline. Po opětovném připojení k síti se složky na serveru a klientovi synchronizují.

  Dalším ne nepodstatným rozdílem mezi protokoly POP3 a IMAP je možnost manipulace se zprávami již během stahování pošty do lokálního úložiště. V případě protokolu IMAP se totiž nejprve stáhnou hlavičky e-mailů a uživatel si tak může vybrat, který si chce přečíst jako první. Po označení vybrané zprávy dostane tato zpráva prioritu ve stahování na klienta a je možné ji přečíst nebo přesunout do jiné složky nebo cokoliv jiného, zatímco jsou stahovány ostatní zprávy.

  POP3 | IMAP
  --- | ---
  nešifrovaný i šifrovaný (POP3S) | nešifrovaný i šifrovaný (IMAPS)
  umožňuje autorizaci | umožňuje autorizaci
  pracuje pouze s jednou složkou | umožňuje manipulaci se složkami (například přesouvání zpráv z jedné složky do druhé) a všechny složky jsou vytvářeny a uchovávány přímo na serveru
  stahuje celou zprávu (zprávy se zobrazují postupně jak jsou stahovány ze serveru) | stahuje nejprve hlavičky zprávy, a teprve poté i těla zpráv
  synchronní (v době stahování pošty s ní není možné nijak manipulovat, je třeba počkat, až bude k dispozici lokálně na disku) | asynchronní (při stahování pošty není zablokována práce s jednotlivými zprávami)
  k účtu může přistupovat pouze jeden klient | k účtu může přistupovat více klientů zároveň

  Tabulka 12.1. Srovnání protokolů POP3 a IMAP

Přístup přes rozhraní MAPI (MS Outlook)

  Kerio MailServer umožňuje přístup k poště přes rozhraní MAPI. MAPI (Messaging Application Programming Interface) je univerzální rozhraní pro přenos zpráv, které vyvinula společnost Microsoft. Je to softwarové rozhraní, které umožňuje libovolnému MAPI klientskému programu komunikovat s libovolným poštovním serverem (v našem případě MS Outlook — Kerio MailServer).

  Aby byla komunikace přes rozhraní MAPI umožněna, společnost Kerio Technologies vyvinula speciální aplikaci Kerio Outlook Connector, která se instaluje na klienta a funguje jako rozšíření aplikace MS Outlook. MS Outlook s Kerio Outlook Connectorem pracuje s poštou stejným způsobem jako protokol IMAP, ale obsahuje řadu možností navíc.

  Díky této úpravě je MS Outlook schopen ve spolupráci s Kerio MailServerem pracovat s groupwarovými daty (kontakty, kalendáři, úkoly a poznámkami) uloženými v úložišti Kerio MailServeru. Hlavní výhodou společného úložiště dat je jejich dostupnost odkudkoli, kde je k dispozici Internet. Pro přístup k datům stačí Internet a internetový prohlížeč (rozhraní Kerio WebMail) nebo MS Outlook s Kerio Outlook Connectorem.

  MS Outlook s Kerio Outlook Connectorem také umožňuje lepší plánování schůzek a úkolů (Free/Busy kalendář) a sdílení různých typů dat mezi uživateli (sdílené a veřejné složky).

  O Kerio Outlook Connectoru se dozvíte více v kapitole 33.2 Kerio Outlook Connector.

Přístup přes rozhraní WebDAV (MS Entourage)

  Kerio MailServer podporuje rozhraní WebDAV (Web Distribution Authoring and Versioning), přes které lze také přistupovat k poštovním účtům. WebDAV je rozhraní rozšiřující protokol HTTP o možnost skupinově editovat a spravovat soubory umístěné na serverech.

  Podpora rozhraní WebDAV v Kerio MailServeru umožňuje připojení poštovního klienta MS Entourage. MS Entourage je poštovní klient ze sady MS Office 2004 for Mac, který dovede pro připojení k poštovnímu serveru využívat protokoly POP3, IMAP a rozhraní WebDAV.

  Uživatel, který se chce připojit klientem MS Entourage ke Kerio MailServeru, může využít speciální rozhraní původně určené pro komunikaci s MS Exchange. Toto speciální rozhraní označované v MS Entourage jako účet typu Exchange je založeno na WebDAV komunikaci.

  Rozhraní WebDAV v MS Entourage poskytuje podobné možnosti jako Kerio Outlook Connector. To znamená, že kromě práce s elektronickou poštou umožňuje také pracovat s groupwarovými daty (pošta, kalendář, kontakty a veřejné složky), umí využívat Free/Busy server atd.

  Ve starších verzích se pro přístup k poště využíval protokol IMAP a pro ostatní typy složek rozhraní WebDAV. MS Entourage 2004 však již používá WebDAV i pro přístup k poštovním složkám.

  Podpora pro spolupráci Kerio MailServeru a MS Entourage je přímá. To znamená, že se na klientské stanice nemusí instalovat žádná rozšiřující aplikace, pouze je nutné správně nastavit základní parametry účtu pro Exchange.

  O MS Entourage a jeho správném nastavení se dozvíte více v kapitole 38 Podpora pro Microsoft Entourage.

Předchozí | Nahoru | Další
Kapitola 12 Odesílání a příjem pošty | Obsah | 12.2 SMTP server