VyÜlo v t²denφku: COMPUTERWORLD
╚φslo:9/94
RoΦnφk:1994
Rubrika/kategorie: Co je Φφm ... v poΦφtaΦov²ch sφtφch
Dφl:81

zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ dφl | nßsledujφcφ dφl

Ji°φ Peterka: Co je Φφm ... v poΦφtaΦov²ch sφtφch (81):

Elektronickß poÜta II.

V minulΘm dφlu jsme se zaΦali zab²vat problematikou elektronickΘ poÜty z u₧ivatelskΘho pohledu. NaznaΦili jsme si, jak² je vztah mezi u₧ivateli a poÜtovnφmi schrßnkami, a co vlastn∞ specifikujφ adresy, pou₧φvanΘ v rßmci elektronickΘ poÜty. Dnes si ji₧ °ekneme n∞co o tom, jak b²vß elektronickß poÜta implementovßna.

Obrßzek 81.1.
Obr. 81.1.: Komponenty systΘm∙ elektronickΘ poÜty (v terminologii standardu X.400)
Pro sprßvnΘ pochopenφ podstaty a mo₧nostφ elektronickΘ poÜty je velmi podstatnΘ uv∞domit si nßsledujφcφ skuteΦnost: elektronickß poÜta nenφ tΘm∞° nikdy zajiÜ¥ovßna jednφm jedin²m programem - prakticky v₧dy jde o spoluprßci vφce program∙ (aplikacφ, proces∙, ·loh), kterΘ jsou r∙zn²m zp∙sobem specializovßny: n∞kterΘ z nich se starajφ pouze o vlastnφ p°enos zprßv (a p°ed u₧ivatelem z∙stßvajφ obvykle skryty), zatφmco jinΘ zase v∞dom∞ "nastavujφ svou tvß°" koncovΘmu u₧ivateli, umo₧≥ujφ mu Φφst doÜlΘ zprßvy, vytvß°et Φi editovat novΘ zprßvy apod., ale kdy₧ majφ n∞jakou zprßvu skuteΦn∞ odeslat, pouze ji p°edajφ tomu programu, kter² mß jejich p°enos na starosti.

Prßv∞ naznaΦenou d∞lbu prßce ilustruje obrßzek 81.1.: cel² komplex program∙, kterΘ ve svΘ vzßjemnΘ souΦinnosti zajiÜ¥ujφ u₧ivatel∙m slu₧by elektronickΘ poÜty, se obecn∞ oznaΦuje jako Electronic Mail System, n∞kdy tΘ₧: Message Handling System (MHS). Jeho komponenty se d∞lφ do dvou hlavnφch skupin: na tzv. u₧ivatelskΘ slo₧ky (User Agent, UA), a p°enosovΘ slo₧ky (Message Transfer Agent, MTA).

P°enosovΘ slo₧ky a systΘmy p°enosu zprßv

P°enosovΘ slo₧ky (Message Transfer Agents) jsou t∞my, kterΘ majφ na starosti vlastnφ p°enos zprßv. Jejich obsahu si nevÜφmajφ (krom∞ p°φpad∙, kdy zajiÜ¥ujφ jejich automatickou konverzi z jednoho znakovΘho k≤du do druhΘho) - zajφmß je p°edevÜφm adresa p°φjemce, podle kterΘ zprßvu doruΦujφ. P°enosovΘ slo₧ky, kterΘ jsou provozovßny na jednotliv²ch uzlov²ch poΦφtaΦφch, p°itom musφ vzßjemn∞ spolupracovat (p°edßvat si zprßvy mezi sebou). To ovÜem znamenß, ₧e musφ "hovo°it stejnou °eΦφ" - tedy pou₧φvat stejnΘ protokoly pro p°enos zprßv, stejnΘ konvence pro adresovßnφ atd.

Vzßjemn∞ spolupracujφcφ p°enosovΘ slo₧ky, provozovanΘ na jednotliv²ch uzlov²ch poΦφtaΦφch, vytvß°φ dohromady systΘm p°enosu zprßv (tΘ₧: Message Transfer System (MTS)). V rßmci n∞j se pou₧φvajφ jednotnΘ konvence a protokoly, specifickΘ pro konkrΘtnφ "poÜtovnφ systΘm" - svΘ vlastnφ konvence a protokoly p°enosu zprßv majφ nap°φklad r∙znΘ komerΦnφ "poÜty" typu cc:Mail Φi Mail602, i systΘmy na bßzi standardu X.400 Φi SMTP (o kter²ch si budeme povφdat podrobn∞ji).

Znamenß to ale, ₧e mezi dv∞ma odliÜn²mi poÜtovnφmi systΘmy nelze p°enßÜet ₧ßdnΘ zprßvy? NaÜt∞stφ nikoli - nenφ toti₧ ₧ßdn²m principißlnφm problΘmem vytvo°it poÜtovnφ brßnu (e-mail gateway), kterß bude zajiÜ¥ovat pot°ebn² p°echod.

U₧ivatelskΘ slo₧ky

Existence p°enosov²ch slo₧ek i cel²ch systΘm∙ p°enosu zprßv je p°ed b∞₧n²m u₧ivatelem obvykle skryta. To, s Φφm u₧ivatel komunikuje, je u₧ivatelskß slo₧ka (UA, User Agent). Teprve ta vytvß°φ pot°ebnΘ u₧ivatelskΘ rozhranφ, prost°ednictvφm kterΘho u₧ivatel m∙₧e vyu₧φvat slu₧by elektronickΘ poÜty - Φφst doÜlΘ zprßvy, ruÜit je Φi archivovat, vytvß°et a editovat novΘ zprßvy atd. K tomu nap°φklad musφ ka₧dß u₧ivatelskß slo₧ka obsahovat mj. i vhodn² editor.

Program, realizujφcφ u₧ivatelskou slo₧ku, je aplikaΦnφm programem, kter² si u₧ivatel vyvolßvß a₧ na zßklad∞ pot°eby, a m∙₧e b²t provozovßn i na takovΘm poΦφtaΦi, kter² nenφ trvale v provozu (zatφmco p°enosovΘ slo₧ky jsou obvykle provozovßny trvale, a vy₧adujφ tudφ₧ poΦφtaΦ, fungujφcφ v nep°etr₧itΘm re₧imu). Prßv∞ z tohoto d∙vodu jsou poÜtovnφ schrßnky (mailbox-y) jednotliv²ch u₧ivatel∙ v∞tÜinou realizovßny v rßmci p°enosov²ch slo₧ek. Zprßvy, kterΘ dojdou na adresu urΦitΘho u₧ivatele (p°esn∞ji: na adresu urΦitΘ poÜtovnφ schrßnky, viz minule), tak mohou b²t uklßdßny do p°φsluÜnΘ schrßnky kdykoli. U₧ivatel se k nim ale dostane a₧ potΘ, co si spustφ program, realizujφcφ u₧ivatelskou slo₧ku, a jeho prost°ednictvφm si zprßvy p°eΦte.

PoÜtovnφ klient a server

Vztah mezi u₧ivatelskou a p°enosovou slo₧kou je do znaΦnΘ mφry vztahem typu klient-server: p°i odesφlßnφ zprßvy se u₧ivatelskß slo₧ka postarß (v interakci s u₧ivatelem) o jejφ sestavenφ, ale pak ji p°edß k odeslßnφ p°enosovΘ slo₧ce (tj. vy₧ßdß si od nφ slu₧bu, spoΦφvajφcφ v p°enosu zprßvy). Naopak v okam₧iku, kdy se u₧ivatel rozhodne podφvat na doÜlou poÜtu, obrßtφ se u₧ivatelskß slo₧ka na p°enosovou se ₧ßdostφ o poskytnutφ obsahu p°φsluÜnΘ poÜtovnφ schrßnky.

Z tohoto d∙vodu je u₧ivatelskß slo₧ka systΘmu elektronickΘ poÜty Φasto oznaΦovßna takΘ jako poÜtovnφ klient (mail client), a p°enosovß slo₧ka (resp. poΦφtaΦ, na kterΘm, je provozovßna) jako poÜtovnφ server (mail server). Terminologie, kterou jsme a₧ dosud pou₧φvali, je charakteristickß spφÜe pro systΘmy elektronickΘ poÜty na bßzi standardu X.400 (zatφmco v prost°edφ TCP/IP sφtφ se hovo°φ spφÜe o poÜtovnφch serverech a klientech).

Obrßzek 81.2.
Obr. 81.2.: P°edstava u₧ivatelskΘ slo₧ky (klienta), provozovanΘ na poΦφtaΦi v roli poÜtovnφho serveru
KonkrΘtnφ zp∙sob komunikace mezi p°enosovou a u₧ivatelskou slo₧kou je samoz°ejm∞ pevn∞ dßn koncepcφ celΘho systΘmu elektronickΘ poÜty (MHS). To ovÜem zdaleka neznamenß, ₧e by tφm byla jednoznaΦn∞ determinovßna i "vn∞jÜφ tvß°" u₧ivatelskΘ slo₧ky (poÜtovnφho klienta). Tyto slo₧ky mohou b²t implementovßny v mnoha r∙zn²ch podobßch - od stroh²ch °ßdkov∞ orientovan²ch utilit a₧ po u₧ivatelsky p°φtulnΘ programy v "okennφm" provedenφ, s nejr∙zn∞jÜφmi vymo₧enostmi. V prost°edφ poΦφtaΦ∙ PC tedy m∙₧e b²t p°φsluÜn² klient nap°φklad programem pro prost°edφ MS DOSu, aplikacφ pro MS Windows apod. Ka₧d² u₧ivatel si m∙₧e vybrat, kter² klient mu bude nejlΘpe vyhovovat - podmφnkou je jenom to, aby se takov²to klient dokßzal sprßvn∞ "domluvit" s p°φsluÜn²m poÜtovnφm serverem.

Postavenφ poÜtovnφho klienta

Velmi zajφmavß je i otßzka mo₧nΘho postavenφ u₧ivatelskΘ slo₧ky (poÜtovnφho klienta), zvlßÜt∞ pak v prost°edφ lokßlnφch sφtφ. P°edpoklßdejme, v souladu s obrßzkem 81.2., ₧e p°enosovß slo₧ka je implementovßna na poΦφtaΦi, kter² vystupuje v roli poÜtovnφho serveru, a obsahuje poÜtovnφ schrßnky jednotliv²ch u₧ivatel∙. U₧ivatelskß slo₧ka (poÜtovnφ klient) m∙₧e b²t programem, kter² b∞₧φ prßv∞ na tomto poΦφtaΦi - u₧ivatelΘ, kte°φ cht∞jφ zpracovßvat svou poÜtu jeho prost°ednictvφm, pak musφ pracovat p°φmo na tomto poΦφtaΦi (z jeho mφstnφch terminßl∙, p°φpadn∞ z jin²ch poΦφtaΦ∙ prost°ednictvφm vzdßlenΘho p°ihlaÜovßnφ).

Obrßzek 81.3.
Obr. 81.3.: P°edstava u₧ivatelskΘ slo₧ky (klienta), provozovanΘ na pracovnφ stanici lokßlnφ sφt∞
DalÜφ mo₧nostφ je to, aby poÜtovnφ klient byl provozovßn na jinΘm poΦφtaΦi, ne₧ kter² vystupuje v roli poÜtovnφho serveru. Takov²to program si u₧ivatel m∙₧e spustit na svΘ pracovnφ stanici (viz obr. 81.3.), a ponechat na n∞m, aby si vÜe pot°ebnΘ "vykorespondoval" po sφti se serverem sßm.

Toto druhΘ °eÜenφ mß ΦetnΘ v²hody: nap°φklad tu, ₧e u₧ivatel nemusφ opouÜt∞t svΘ pracoviÜt∞, a osobn∞ se obt∞₧ovat a₧ k poÜtovnφmu serveru (nebo vyu₧φt mo₧nosti vzdßlenΘho p°ihlaÜovßnφ). V²raznou v²hodou b²vß i v∞tÜφ komfort, kter² takovΘto °eÜenφ m∙₧e nabφdnout: klientskΘ programy, provozovanΘ na pracovnφch stanicφch (nap°φklad v prost°edφ MS Windows), obvykle nabφzφ svΘmu u₧ivateli mnohem v∞tÜφ pohodlφ a mnohem v∞tÜφ repertoßr dopl≥kov²ch funkcφ, ne₧ analogickΘ programy, provozovanΘ na poÜtovnφm serveru (kter² m∙₧e b²t nap°φklad Unixovsk²m poΦφtaΦem).

Vzdßlen² klient

Obrßzek 81.4.
Obr. 81.4.: P°edstava vzdßlenΘho poÜtovnφho klienta
PoÜtovnφ klient, urΦen² k provozovßnφ na pracovnφ stanici v sφti, obvykle poΦφtß s tφm, ₧e sv∙j server m∙₧e kontaktovat kdykoli (a s dostateΦnou rychlostφ). JednotlivΘ zprßvy, doÜlΘ p°φsluÜnΘmu u₧ivateli, proto ponechßvß v jeho poÜtovnφ schrßnce (tedy na serveru), a odsud si je individußln∞ "stahuje" a₧ v okam₧iku, kdy si to u₧ivatel explicitn∞ vy₧ßdß (nap°. kdy₧ si chce p°eΦφst urΦitou konkrΘtnφ zprßvu). Pokud je pot°ebuje n∞kam doΦasn∞ ulo₧it (nap°φklad jako ji₧ p°eΦtenΘ, ale dosud nesmazanΘ zprßvy), uklßdß si je op∞t na server. To mß jednu obrovskou v²hodu - fungovßnφ klientskΘho programu pak nenφ zßvislΘ na tom, na kterΘ pracovnφ stanici je provozovßn. U₧ivatel tak m∙₧e se svou poÜtou plnohodnotn∞ pracovat z kterΘhokoli poΦφtaΦe v danΘ lokßlnφ sφti.

Alternativnφm °eÜenφm je to, aby si klient v urΦit² okam₧ik "stßhl" cel² obsah u₧ivatelovy poÜtovnφ schrßnky, a pak se na n∞j ji₧ nemusel obracet s jednotliv²mi ₧ßdostmi o Φtenφ konkrΘtnφch zprßv. SouΦasn∞ s tφm by si takov²to program takΘ ponechßval "u sebe" (tj. na svΘm lokßlnφm disku) i veÜkerou rozpracovanou poÜtu. Tφm se sice ztratφ mo₧nost plnohodnotnΘ prßce z kterΘkoli stanice v danΘ sφti, ale na druhΘ je zase minimalizovßn p°enos dat mezi klientem a serverem - dφky jednorßzovΘmu a dßvkovΘmu charakteru komunikace je pak mo₧nΘ vystaΦit i s mnohem pomalejÜφmi p°enosov²mi cestami. Natolik pomalejÜφmi, ₧e je mo₧nΘ uva₧ovat i o provozovßnφ poÜtovnφho klienta na vzdßlen²ch poΦφtaΦφch: takov²to klient se m∙₧e na sv∙j poÜtovnφ server jednorßzov∞ p°ipojit nap°φklad prost°ednictvφm komutovanΘho okruhu ve°ejnΘ telefonnφ sφt∞, "stßhnout si" veÜkerou doÜlou poÜtu, potΘ se odpojit (zav∞sit telefon), a poÜtu zpracovat ji₧ jako samostatn∞ b∞₧φcφ aplikace (tj. v nesp°a₧enΘm, neboli of-line re₧imu).

Takov²mto zp∙sobem si u₧ivatel m∙₧e nap°φklad ze svΘho domßcφho poΦφtaΦe zavolat pro doÜlou poÜtu, vÜechnu si ji p°enΘst k sob∞, potΘ zav∞sit, a poÜtu pak zpracovßvat v klidu a pohodlφ svΘho domova (a hlavn∞ bez dlouhΘho blokovßnφ telefonnφ linky a tomu ·m∞rn²ch poplatk∙). Kdy₧ se rozhodne n∞jakou poÜtu odeslat, m∙₧e si ji nejprve p°ipravit do v∞tÜφ dßvky, a tu pak analogick²m zp∙sobem jednorßzov∞ p°enΘst na server k odeslßnφ. V principu je samoz°ejm∞ mo₧nΘ i takovΘ °eÜenφ, p°i kterΘm si u₧ivatel odnese od serveru celou dßvku doÜlΘ poÜty na disket∞, doma ji zpracuje, vytvo°φ novou dßvku poÜty, urΦenΘ k odeslßnφ, a tu pak op∞t po disket∞ p°enese k serveru.


zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ dφl | nßsledujφcφ dφl
Tento Φlßnek m∙₧e b²t voln∞ Üφ°en, pokud se tak d∞je pro studijnφ ·Φely, na nev²d∞leΦnΘm zßklad∞ a se zachovßnφm tohoto dov∞tku. Podrobnosti hledejte zde, resp. na adrese http://archiv.czech.net/copyleft.htm