Pošta - Omezení

Z More
Přejít na: navigace, hledání

Poštovní systém (SMTP) má řadu technických omezení. Uživatelé by s nimi měli počítat a měli by umět správně reagovat na krajní situace, které při práci s elektronickou poštou mohou nastat. Následující řádky mohou pomoci při řešení problémů spojených s uvedenými omezeními.

Obecné

Vznik zprávy

Sedíte u počítače a píšete doips. Uvedete adresáta (jméno@doména), shrnutí (věc, předmět) a vlastní text dopisu, případně přiložíte další soubory. Stisknete tlačítko Odeslat a tím zahájíte proces doručení této zprávy.

Zpráva však může vzniknout i jinak, např. si na webové stránce objednáte pravidelné informování o změnách v sortimentu nabízeného zboží či o aktualizaci jejich ceníku. Jakmile nastane uvedená situace, systém automaticky vytvoří zprávu a "stiskne tlačítko Odeslat".

Zahájení doručení

Jakmile je zpráva vytvořena a sestavena spolu s provozními informacemi (emailová adresa odesílatele, jméno počítače, kde byla zpráva sepsána, datum odeslání apod.), je předána tzv. SMTP serveru (ten se nastavuje v poštovním programu u příslušného poštovního účtu).

Tento SMTP server (jmenuje se tak podle protokolu, který používá pro komunikaci s počítačem odesílatele) zkontroluje správnost provozních informací, doplní své (svoje jméno, svůj čas přijetí zprávy k odeslání apod.) a vloží zprávu do fronty k odeslání.

V tu chvíli se počítač odesílatele odpojí a dál ho to nezajímá.

Proces doručování

SMTP server, který obdržel zprávu, kterou má doručit na cílovou adresu jméno@doména, určí cílový SMTP server v internetu, kterému zprávu hodlá předat. U každé domény je uvedena informace, který SMTP server spravuje tuto doménu a přebírá veškerou poštu adresovanou na @doména.

Zpravidla se uvádějí nejméně dva takové servery, pro případ, že by byl dočasně jeden z nich mimo provoz. Pokud se tedy nepodaří navázat spojení s primárním serverem, źkouší to odesílající SMTP server na další cíle. Pokud ani u těch neuspěje, zprávu vloží zpět do fronty a po čase to zkusí znovu.

Pokud se podaří odesílajícímu SMTP serveru navázat spojení s cílovým SMTP serverem, úplně stejným způsobem, jako to udělal počítač odesílatele, mu tuto zprávu předá. Cílový server opět přidá svoije provozní informace a zprávu zařadí do příslušné poštovní schránky adresáta.

Doručení přes prostředníka

Jak bylo uvedeno výše, někdy se stane, že zprávu není možné hned doručit na cílový server. V takovém případě se k doručení použije prostředník (sekundární SMTP server). Ten má jediný účel - převzít zprávu od cizích serverů, ponechat jí ve své frontě a ve vhodném okamžiku je předat svému nadřízenému (primárnímu) serveru.

Výhoda tohoto řešení je v tom, že se i z velkých internetových vzdáleností může doručit zpráva do blízkosti cílového serveru, i když ten je momentálně nedostupný, protože na větší vzdálenost se spojení navazuje hůře než na menší (větší pravděpodobnost ztráty spojení, přerušení spojení apod.).

Ukončení cesty

Jak již bylo uvedeno, jakmile zpráva dorazí na cílový server SMTP, ten jí uloží do složky doručené pošty poštovní přihrádky určené adresou jméno@doména a tím je putování zprávy internetem pozastaveno do chvíle, než si ji uživatel schránky vyzvedne a přečte (a zahodí, založí, předá nebo na ní odpoví).

Chyby

Jak zpráva putuje internetem, mohou nastat nejrůznější komplikace. Zde si uvedeme nejčastější z nich.

Systémové chyby

Systémová chyba nastane např. při špatné konfiguraci poštovního programu. Zkontrolujte si svoje nastavení. Tyto chyby je třeba napravit, bez nich není možné poštu používat.

Trvalé chyby

K trvalé chybě dojde např. pokud se pokusíte poslat zprávu na neexistující adresu. Pokud tuto chybu zjistí už SMTP server odesílatele, zprávu vůbec nepřijme a v poštovním programu se okamžite po pokusu o odeslání zobrazí chybová zpráva s odůvodněním, proč byla zpráva zamítnuta.

Častěji se ale stává, že SMTP server odesílatele chybu nezjistí (nezná platné adresy cizích domén), tedy zprávu přijme a zařadí do frony k odeslání. Teprve potom, při kontaktování cílkového serveru zjistí, že adresa není platná. V takovém případě pošle SMTP server novou zprávu zpět odesílateli s vyzvětlením, proč původní zprávu nedoručil. Zpoždění může být několik vteřin, ale i hodin.

Pokud dojde k takovémuto opožděnému oznámení a naneštěstí odesílatel chybně uvedl svoji adresu, není způsob jak chybovou zprávu odesílatli doručit.

Dočasné chyby

Mezi dočasné chyby patří např. okamžitá nedostupnost cílového SMTP serveru, překročení stanovného limitu objemu adresátovy schránky apod. Pokud je to v mocí odesílajícího systému (např. volba jiného SMTP serveru jako prostředníka), odešle zprávu alternativním způsobem. V opačném případě si zprávu ponechá ve své frontě a čas od času se znovu pokusí zprávu doručit.

Pokud dočasná chyba přetrvává delší dobu (o časovém intervalu rozhoduje SMTP server, kam až zpráva byla doručena), server to oznámí odesílateli novou zprávou se zdůvodněním, proč a jak dlouho přetrvává zpráva ve frontě a příp. ji vrátí celou jako nedoručitelnou.

Na rozdíl od trvalé chyby lze dočasné chyby napravit tím, že se zpráva prostě znovu pošle (server už je dostupný, adresát si vyprázdnil schránku apod.).

Velikost

Jak už z anglického názvu systému pro elektronickou poštu (Simple Message Transfer Protocol) vyplývá, jedná se o protokol určující vzájemnou komunikaci mezi odesílajícím a přijímajícím systémem při vyměně jednoduchých zpráv.

Původně se jednoduchými zprávami myslely krátké textové informace v řádu maximálně nekolika desítek kilobytů. Časem však vznikla potřeba posílat nejen text, ale i jiná média (formát MIME).

Velikost přílohy

Protože je SMTP navržen jako textový protokol (viz RFC 821 (anglicky), není možné netextové přílohy posílat rovnou, ale musejí se nejprve zakódovat do textu tak, aby se na cílové straně zase daly rozkódovat du původní podoby. O to se starají poštovní programy a uživatele to v podstatě nezajímá.

Uživatele by ale už mělo zajímat, že díky zakódování do textu dojde ke zvětšení zhruba o třetinu (nejpoužívanější kódování Base64 každou trojici bytů zakóduje do čtveřice znaků, takže např. Průzkumník ukazuje 3MB, výsledná zpráva však má velikost 4MB).

Maximální velikost jedné zprávy

Každý SMTP server, který je na cestě putování zprávy (viz výše) má nastaven nějaký limit pro jednu zprávu. Pokud je zpráva větší, dojde k trvalé chybě (opakovaným posláním téže zprávy k této chybě dojde vždy při průchodu tímto serverem). Pak nezbývá než zprávu rozdělit na několik menších zpráv.

Konkrétní limit je dán konkrétním SMTP serverem. Jelikož však maximální velikost zprávy je učená nejmenším z limitů všech SMTP serverů na cestě, nestačí zvýšit nastaveni na jednom z nich (běžný požadavek uživatelů na správce jejich SMTP serveru), tím se jen zajistí, že server bude schopen přijmout větší zprávu, ale ne to, co uživatel požaduje, tedy aby jí doručil do cizích systémů.

Zpravidla nejmenším limitem je 10MB v metrice zprávy jako takové. Protože přílohy jsou kódovány a protože uživatele spíš zajímá velikost příloh před zakódováním, je tím limitem přibližně 7MB na přílohy v jedné zprávě.

Celková kapacita schránky

Dalším limitem při doručení zprávy může být nastavený limit pro schránku adresáta. Pokud by se doručením zprávy tento limit překročil, SMTP server jej odmítne doručit s dočasnou chybou a pokud si uživatel včas schránku nevyčistí, zprávu server vrátí odesílateli.

Zde nepomůže rozdělit zprávu na několik menších, protože v cíli se stejně musejí vložit zase všechny. (Ledaže by uživatel vybíral jednu část za druhou a postupně je umazával. To ale není příliš pohodlné.)

Řešení?

Systém SMTP není připraven na posílání velkých objemů dat, ať už na straně odesílatele, nebo i příjemce (ten si poštu vyzvedává protokolem IMAP nebo POP3, pokud má pomalejší nebo nestabilní připojení, může dojít i k opakovanému přerušení spojení a opakování celého přenosu stále dokola).

Z předchozího je jasné, že doručení zprávy s větší než 7MB velkou přílohou není zaručeno. Pokud však přesto potřebujete doručit větší objem, je výhodnější vlastní přílohu uložit na samostatný server, např. protokolem FTP (ten je jednak binární, tedy nekóduje a uměle nezvětšuje přilohy, jednak má zabudovanou funkcionalitu, že při přerušení spojení znovu spojení naváže a pokračuje tam, kde k přerušeni došlo), a ve zprávě pak jen uvést odkaz na tento FTP server i s instrukcemi (třeba jménem a heslem), jak přílohu získat.

Alternativou může být HTTP (www) server na straně adresáta, který je obecně snadněji použitelný (k uživatelům přátelštější), nicméně princip je totožný s FTP. Existují některé služby (zdarma), které podobnou funkci nabízejí (např. http://www.uschovna.cz).

Pokud však kladete na systém rozesílání větších objemů poštou větší nároky, domluvte se se svým správcem sítě, aby navrhl nějaká řešení (automatizaci).

Rychlost

Rychlost doručení ovlivňuje několik aspektů.

Odchozí rychlost

Na Vaší straně je limitujícím prvkem rychlost odesílání dat. U asymetrických připojení (jako ADSL) je to zpravidla ta menší z obou uváděných. Určitou dobu tedy trvá, než celá zpráva dorazí na odesílající SMTP server. Dokud zpráva nedorazí celá, není zahájena další fáze doručování (hledání cílového SMTP serveru apod.).

Délka trasy doručení

Na každém SMTP serveru, který je v doručovací cestě zprávy, způsobí zdržení. Předně vkládání zprávy do fronty, určení pořadí zpracování zpráv a vyzvedávání zprávy z fronty zabere určitý čas, který odpovídá aktuálnímu vytížení SMTP serveru.

Dále se na zpoždění podílí přenosová rychlost směrem k cíli a vytížení možné kapacity přenosu.

AV a AS kontrola

Protože SMTP servery zpravidla provádějí antivirovou či antispamovou kontrolu, větší zprávy budou déle kontrolovány a dojde u nich k dalšímu zpoždění.

Přečtení

Na konci celého řetězce je adresát. Ke zpoždění doručení dojde zpravidla v řádu minut nastaveným intervalem kontroly nové pošty a samozřejmé také rychlostí jeho připojení (u asymetrických připojení tentokráte tím větším číslem).