Vyšlo v týdeníku Computerworld č. 17/94 v roce 1994
Vytištěno z adresy: http://www.earchiv.cz/a94/a417c110.php3

Elektronická pošta III.

V minulých dvou dílech, věnovaných problematice elektronické pošty, jsme se zabývali poštovními schránkami, adresami, a principiálním způsobem přístupu uživatele k elektronické poště. Dnes se podrobněji zastavíme u některých funkčních možností elektronické pošty.

Základní funkcí každého systému elektronické pošty je doručování jednotlivých zpráv od jejich odesilatelů až ke koncovým adresátům. S tím ovšem může souviset i celá řada dalších zajímavých a užitečných funkcí, jako například možnost rozesílání zpráv na více adres, možnost zasílání kopií zpráv na vědomí, možnost potvrzování příjmu, možnost připojování příloh ke zprávám, možnost automatického třídění došlých zpráv, vedení adresářů a archivů zpráv apod. Abychom si všechny tyto zajímavé možnosti mohli popsat a vhodně zasadit do kontextu, je dobré si znovu připomenou to nejdůležitější, o čem jsme si povídali v minulém dílu: totiž že v souvislosti s elektronickou poštou se můžeme setkat se dvěma základními kategoriemi programů - s tzv. přenosovými složkami (MTA, Message Transfer Agents), které zajišťují vlastní přenos zpráv (ale nikoli již komunikaci s uživatelem), a s tzv. uživatelskými složkami (User Agents), které naopak s uživatelem bezprostředně komunikují, umožňují mu číst došlé zprávy, sestavovat nové zprávy atd., ale ke skutečnému odeslání je předávají přenosovým složkámn. Pro naše dnešní povídání je povědomí o existenci těchto dvou kategorií programů podstatné proto, abychom si mohli uvědomit, "kde" jsou různé funkce realizovány, a z toho si pak odvodit i to, co předurčuje jejich dostupnost.

Hlavička a tělo zprávy

Další představa, která nám značně zjednoduší naše povídání, je představa o vnitřním členění zpráv elektronické pošty - tyto mají vždy dvě základní části: hlavičku (header) a tělo (body).

Tělo obsahuje vlastní text zprávy, a z pohledu systému elektronické pošty není nijak strukturováno - ani uživatelské složky, ani přenosové složky tuto část zprávy nijak neinterpretují (kromě některých speciálních případů, jako například při potřebě konverze z jedné znakové sady do druhé): interpretace toho, co je obsaženo v těle zprávy, je ponechávána plně na uživatelích.

Naproti tomu obsah hlavičky musí být velmi přesně strukturován - právě zde jsou totiž obsaženy veškeré informace, podle kterých jsou jednotlivé zprávy odesílány, přenášeny a doručovány. Každý systém elektronické pošty (MHS, Message Handling System) musí přesně definovat, co má být v hlavičce obsaženo, a jakým konkrétním způsobem to má být vyjádřeno. To proto, aby si jak uživatelské složky (User Agents), tak i přenosové složky (Message Transfer Agents) dokázaly v hlavičce najít ty informace, které ke své činnosti potřebují.

Údaje, obsažené v hlavičkách zpráv

Jaké konkrétní údaje jsou tedy obsaženy v hlavičkách zpráv? Závisí to samozřejmě na konkrétním systému elektronické pošty a na jím používaném standardu, který přesný formát hlavičky definuje. Prakticky vždy jsou ale v hlavičce obsaženy mimo jiné i následující údaje:

  • kdo je odesilatelem zprávy
  • kdo má být příjemcem zprávy
  • datum a čas odeslání zprávy
  • předmět zprávy (anglicky: subject, obvykle v rozsahu jediné řádky)
Jednu konkrétní možnost naznačuje následující příklad:

        From: Jiri Peterka <peterka@kki.ms.mff.cuni.cz>
        To: Jan Pavelka <pav@dcit.cz>
        Date: Mon, 28 Mar 1994 18:42:01 MET
        Subject: Jak se dari?

Většinu položek v hlavičce vyplňuje uživatelská složka (User Agent) na straně odesilatele, podle pokynů, které vhodným způsobem získá od svého uživatele. Při samotném přenosu zpráv však mohou být do hlavičky průběžně přidávány ještě další údaje, ve kterých je zaznamenán průběh přenosu zpráv. Například:

        Received: from einar.dcit.cz by frode.dcit.cz (Mercury 1.11); Tue, 8 Mar 94 11:27:16 CET
        Received: from ns.ms.mff.cuni.cz by einar.dcit.cz (AIX 3.2/UCB 5.64/4.07) id AA13120; Tue, 8 Mar 1994 11:23:46 +0100
Z těchto údajů je pak možné vysledovat skutečný "průchod" zprávy přes různé přenosové složky na mezilehlých uzlových počítačích. Tato možnost však pamatuje spíše na správce sítí, než na běžné uživatele - těm jejich uživatelská složka (User Agent) hlavičku většinou nezobrazuje (alespoň ne v její skutečné podobě). Místo toho jsou uživatelům předkládány jen některé vybrané údaje (např.: o odesilateli a předmětu zprávy), a to navíc v takové formě, jakou příslušný program, vystupující v roli uživatelské složky, pokládá za nejvhodnější.

Například bezprostředně po "výběru" poštovní schránky může být uživateli nabídnut přehledný seznam došlých zpráv (ve kterém je každé zprávě věnována jedna řádka, a na ní je uvedeno například jen jméno odesilatele a předmět zprávy, případně i datum apod.). Uživatel-příjemce může takovýmto seznamem listovat, a když si nějakou zprávu ze seznamu vybere, poštovní program (User Agent) mu zobrazí její obsah (tj. tělo zprávy).

Rozesílání zpráv na více adres

Jednou z velkých předností elektronické pošty je možnost rozeslání jedné a téže zprávy více příjemcům - kolika, to pro odesilatele vlastně není vůbec relevantní, protože jeho "námaha", spojená s takovýmto úkonem, může být úplně stejná, jako při odesílání zprávy jedinému uživateli.

Možnost rozesílání může být realizována více různými způsoby. Jeden z nich, který je výhodnější spíše pro příležitostné využití, spočívá v tom, že místo jednoho konkrétního příjemce se při sestavování zprávy uvedou dva příjemci, tři, čtyři atd. Toho, kdo by tuto možnost chtěl využívat častěji, by však zřejmě brzy omrzelo opakované ruční rozepisování stejných adres. Program, prostřednictvím kterého takový uživatel své zprávy sestavuje a odesílá, mu může vyjít vstříc a umožnit mu předem sestavit seznam příslušných adresátů (resp. tolik takovýchto distribučních seznamů, kolik potřebuje). Při samotném odesílání pak místo adresáta uživatel uvede jen jméno (identifikátor, označení) distribučního seznamu, a poštovní program (User Agent) se pak již sám postará o potřebné "rozepsání".

Tuto možnost, při které již od odesilatele odchází více jednotlivých zpráv, je třeba odlišit od tzv. elektronických konferencí. Ty jsou založeny na myšlence, že na určitém uzlovém počítači je veden seznam uživatelů (účastníků konference), a tento seznam má vlastní adresu pro elektronickou poštu. Když někdo pošle zprávu (tj. jednu zprávu) na tuto adresu, pak je tato zpráva, obvykle zcela automaticky, rozeslána všem uživatelům, uvedeným na příslušném seznamu.

Potvrzení o příjmu - doporučená elektronická pošta?

Jedním z velmi častých požadavků, které uživatelé vznáší na elektronickou poštu, je možnost získat věrohodnou informaci o tom, že určitá zpráva byla v pořádku doručena.

V principu to není žádný problém: do hlavičky odesílané zprávy se zařadí položka, požadující takovéto potvrzení. Na straně příjemce pak může být na základě tohoto požadavku automaticky vygenerována krátká zpráva o doručení, a odeslána zpět odesilateli původní zprávy.

Otázkou ovšem je, kdy vlastně má být takovéto potvrzení generováno? Tehdy, když je zpráva uložena do poštovní schránky příjemce? Pak nevypovídá nic o tom, kdy je zpráva skutečně přečtena. Nebo má být potvrzení generováno až v okamžiku, kdy si příjemce zprávu skutečně přečte? Pak se ale odesilatel zase nemusí včas dozvědět, že zpráva byla úspěšně přenesena (resp. že se při přenosu nikde neztratila), a že ji tudíž nemusí posílat znovu.

Některé systémy elektronické pošty řeší toto dilema tak, že zavádí dva druhy potvrzení - potvrzení o uložení zprávy do poštovní schránky příjemce, a potvrzení o jejím skutečném přečtení.

Potvrzení o uložení zprávy přitom může generovat již samotná přenosová složka (Message Transfer Agent), která má přenos zpráv na starosti. Naproti tomu potvrzení o skutečném přečtení může generovat až program, prostřednictvím kterého uživatel zpracovává svou poštu - tedy program, který plní úlohu uživatelské složky (User Agent).

V praxi ovšem nebývá generování takovýchto potvrzení vždy zaručeno. Ne všechny programy, zajišťující fungování elektronické pošty, totiž generování takovýchto potvrzení podporují. Jiné programy zase dávajím uživatelům možnost individuální volby. Pokud tedy někomu pošlete zprávu s požadavkem na potvrzení jejího přijetí (ať již ve smyslu uložení do poštovní schránky či skutečného přečtení), a toto potvrzení nedostanete, ještě nemusí být zdaleka vše špatně!

Kopie na vědomí

V běžném úředním styku, vedeném písemnou formou, bývá zvykem posílat originály dopisů jejich konkrétním adresátům, a kopie těchto dopisů tzv. na vědomí jiným osobám (nejčastěji osobám nadřízeným). Také v elektronické poště existuje obdobná možnost: každá zpráva může mít jednoho či několik adresátů, ale kromě toho může být poslána "na vědomí" jednomu či několika dalším uživatelům, ve formě kopie (anglicky: Carbon Copy, zkratkou CC).

Kopie zprávy se od originálu nijak neliší. Je v ní vždy uveden "hlavní" příjemce (resp. příjemci), zatímco příjemci kopií jsou v hlavičce uvedeni také, ale v rámci samostatné položky, například:

        From: Jiri Peterka <peterka@kki.ms.mff.cuni.cz>
        To: Jan Pavelka <pav@dcit.cz>
        Cc: spravce site <admin@dcit.cz>

Příjemce "kopie na vědomí" tedy má možnost dozvědět se, že příslušná zpráva je pouze kopií, a stejně tak má možnost zjistit, komu byl odeslán její originál, případně kterým dalším uživatelům byly odeslány další kopie - potřebné informace jsou v hlavičce obsaženy, a záleží na použitém programu pro zpracování pošty (realizujícím uživatelskou složku), zda a v jaké formě tyto informace svému uživateli poskytne.

Stejnou možnost má samozřejmě i příjemce originálu - také on se může dozvědět, že příslušná zpráva byla odeslána ve formě kopie jiným uživatelům.

To ovšem nemusí být v některých situacích příliš žádoucí. Proto existuje ještě jedna varianta "kopie na vědomí", a to tzv. slepá kopie (Blind Copy, zkratkou Bcc:). Liší se v tom, že o existenci této kopie se příjemce originálu (a většinou ani příjemce "běžné" kopie) nemá šanci dozvědět - v hlavičce zprávy, kterou obdrží, nejsou příjemci slepých kopií uvedeni.

Komfort poštovních programů

Možnost zasílání "kopií na vědomí" je příkladem mechanismu, který musí být podporován již samotným systémem přenosu zpráv (MTS, Message Transfer System), neboli soustavou vzájemně propojených přenosových složek (MTA, Message Transfer Agents), resp. protokolem, na základě kterého tyto složky pracují.

Existuje však také celá řada dalších "doprovodných" služeb, realizovaných výhradně těmi programy, které slouží uživatelům k bezprostřednímu zpracování elektronické pošty (tedy uživatelskými složkami, User Agents).

Obvyklou samozřejmostí bývá vedení všelijakých adresářů, ve kterých si koncoví uživatelé zaznamenávají elektronické adresy svých přátel, kolegů, spolupracovníků, partnerů apod. Další užitečnou funkcí je možnost vytváření distribučních seznamů, citovaná výše (pro potřeby rozesílání zpráv více příjemcům).

Tomu, kdo elektronickou poštu využívá intenzivněji a má bohatou korespondenci, přijde velmi vhod možnost zařazovat jednotlivé zprávy do oddělených "fochů" (pomyslných přihrádek, škatulek apod., anglicky: folders). Takto si například může shromažďovat na jednom místě (v jednom "folderu") korespondenci s jedním konkrétním uživatelem, zatímco do jiného "folderu" si bude ukládat poštu, týkající se určitého konkrétního tématu apod.

Zařazování pošty do jednotlivých "folderů", které si uživatel vytváří podle své potřeby, bývá nejčastěji řešeno ručně. Některé poštovní programy však nabízí i možnost automatického třídění, například na základě adresy odesilatele, na základě výskytu určitého klíčového slova v předmětu zprávy apod.

Velmi praktická bývá i možnost přímé odpovědi, spojená s vkládáním citací z původního dopisu. Pokud se například při čtení určité zprávy rozhodnete na ni okamžitě odpovědět (což bývá dobrým zvykem), pak většinou stačí zmáčknout jedinou horkou klávesu, a váš poštovní program vám připraví základ odpovědi: sám si například vyplní adresu příjemce (kterou si odvodí z přijaté zprávy), sám si zvolí předmět zprávy (většinou vezme původní předmět, a před něj připíše výmluvné Re:). Kromě toho však může vložit do textu odpovědi také původní text (uvozený nějakým speciálním znakem, obvykle pravou špičatou závorkou), a vám pak stačí jen vhodně připisovat své odpovědi. Například:

        > Kdy uz konecne napises dalsi dil serialu "Co je cim ..
        > v pocitacovych sitich?"
        Uz se na tom pracuje.
        > A o cem to bude?
        No porad jeste o elektronicke poste

Přílohy ke zprávám

Elektronická pošta je určena především k přenosu zpráv, které mají textovou podobu, a o kterých se předpokládá, že nejsou příliš velké. S textovým charakterem zpráv pak souvisí i to, že přenosové složky, které zprávy skutečně přenášejí, se na ně dívají jako na posloupnost znaků, a jako takové je i přenáší.

To má ovšem některé významné důsledky: například ten, že příslušný přenosový protokol může vycházet z předpokladu, že půjde výhradně o anglický text, a že tedy jednotlivé znaky může znázornit jen v sedmi bytech (čehož pak využije pro efektivnější přenos). Pokud tak skutečně činí, pak není možné používat v textu zpráv například naše proslavené háčky a čárky.

Dalším důsledkem, který vyplývá z textového charakteru zpráv, je nemožnost přenášet tímto způsobem také binární soubory, které je nutné chápat nikoli jako posloupnost znaků, ale jako posloupnost jednotlivých bitů. Za binární soubory je nutné považovat například také soubory ve vnitřním formátu různých textových editorů a procesorů.

V praxi by se ale takováto možnost velmi hodila - kdybychom například mohli připojit k odesílané zprávě jako přílohu binární soubor. Některé systémy elektronické pošty této možnosti vychází vstříc: umožňují připojovat ke zprávám přílohy (attachments), které mohou být i binárními soubory. S textovým charakterem přenosu se pak vyrovnávají tím, že tyto binární soubory pro potřeby přenosu vhodně zakódují (tj. převedou do "čistě textového" tvaru), a při příjmu je zase převádí zpět do jejich původního tvaru.

Takže až budete někomu příště psát elektoronickou poštou, můžete mu ke své zprávě "přibalit" například hezký obrázek ve formě binárního souboru. Zase ale jenom tehdy, pokud váš poštovní program (User Agent) tuto možnost podporuje, a stejně tak i poštovní program na straně adresáta.