Elektronická pošta

Václav Zachr, zachr (na) mail.muni.cz


Obsah


Elektronická pošta

Doručování elektronické pošty je jednou ze základních služeb počítačových sítí. Její provoz zajišťuje několik aplikací, přičemž každá je specifikována na jiný úkon. Princip elektronické pošty je založen na architektuře klient-server. V roli serveru zde vystupují přenosové složky (Mail Transfer Agent - MTA), které se starají o průchod zprávy počítačovou sítí na místo určení. Samotným obsahem se nezabývají (až na vyjímky, jakou je například konverze znakových sad). Klient (též User Agent - UA) je pak aplikační program, který vytváří uživatelské rozhraní k službám přenosové složky. Umožňuje přijímat poštu, vytvářet a odesílat nové zprávy a obvykle poskytuje i další funkce, jako elektronický podpis apod.

Doprava pošty - UA a MTA

obr.1: Doprava pošty - UA a MTA

V literautuře se můžeme navíc setkat s programy typu Mail Submission Program - MSP (nachází se mezi UA a MTA, má na starosti kontrolu dat před odesláním) a s Mail Delivery Agent - MDA (třídí a filtruje došlou poštu, můžeme si jej představit někde na úrovni mailboxu).


SMTP protokol

SMTP je soubor pravidel, kterými se řídí proces odesílání a přenosu elektronické pošty mezi poštovními servery. Vznikl z anglického výrazu pro jednoduchý protokol pro odesílání pošty (Simple Mail Transfer Protocol). Obvykle bývá na well-known portu 25 (nezabezpečený). Jeho definici je věnováno RFC 821, přičemž poslední specifikaci nalezneme v RFC 2821. Dnes se ale většinou používá protokol v rozšířené verzi podle RFC 1425 resp. RFC 1869.

S: 220 bubo.vslib.cz 5.67a8/IDA-1.5 Sendmail is ready at Mon,
        28 Feb 1994 14:34:59 +0100
C: HELO ns.felk.cvut.cz
S: 250 Hello ns.felk.cvut.cz, pleased to meet you
C: MAIL From:<csTeX-Mgr@cs.felk.cvut.cz>
S: 250 <csTeX-Mgr@cs.felk.cvut.cz>... Sender ok
C: RCPT To:<MILAN.KERSLAGER@VSLIB.CZ>
S: 250 <MILAN.KERSLAGER@VSLIB.CZ>... Recipient ok
C: RCPT To:<VIT.ROCEK@VSLIB.CZ>
S: 250 <VIT.ROCEK@VSLIB.CZ>... Recipient ok
C: DATA
S: 354 Enter mail, end with "." on a line by itself
C: Received: from mvax.felk.cvut.cz by ns.felk.cvut.cz
        (5.65c8/FELK-area.4.2)
C:         id AA00728; Mon, 28 Feb 1994 14:31:46 +0100
C: Message-Id: <199402281331.AA00728@ns.felk.cvut.cz>
C: X-Listname: Czech and Slovak TeX-related mailing list
        <csTeX@cs.felk.cvut.cz>
C: Warnings-To: <>
C: Errors-To: csTeX-Mgr@cs.felk.cvut.cz
C: Sender: csTeX-Mgr@cs.felk.cvut.cz
C: Received: by cs.felk.cvut.cz (MX V3.3 VAX) with SITE;
        Mon, 28 Feb 1994 14:21:52
C:           MET-2DST
C: Date: Mon, 28 Feb 94 14:21:23 MET
C: From: HORAKK%CSEARN.BITNET@earn.cvut.cz
C: Reply-To: csTeX@cs.felk.cvut.cz
C: Subject: Re: inspic lde 3/92
C: To: csTeX@cs.felk.cvut.cz
C: 
C: Mohu Vam zminene makro poslat mailem.
C: 
C: Karel Horak
C: .
S: 250 Ok
C: QUIT
S: 221 bubo.vslib.cz closing connection

př.1: Komunikace SMTP

Pro úplnost ještě uvedu další příkazy, které SMTP definuje:


Komunikace v elektronické poště, směrování

Zpráva, která má být doručena elektronickou poštou, musí mít jasně definovanou formu. To usnadňuje její přenos sítí a umožňuje manipulaci se zprávou na různých počítačových a softwarových platformách. Soubor pravidel, kterými se tvorba zpráv řídí je sepsána v RFC 822 resp. v RFC 2822.

Znaky, ze kterých je zpráva složena, mohou nabývat pouze hodnoty US-ASCII, tedy 1 až 127. Použití znakových sad s větším rozsahem je definováno standardem MIME, viz dále. Řádky zprávy jsou od sebe oddělovány dvojicí znaků CR/LF. Zpráva jako celek je rozdělena do dvou částí. První je tzv. hlavička, tvořená položkami hlavičky. Zde jsou uloženy informace o zprávě jako takové. Následuje tělo zpravy (body), které ovšem není povinné. Hlavička je od těla oddělena prázdným řádkem (před CR/LF se nenachází žádný znak).

Každá položka hlavičky je tvořena jménem, dvojtečkou, mezerou a hodnotou. Víceřádková položka začína každý svůj nový řádek buď mezerou nebo tabulátorem.

Zpráva elektronické pošty musí nutně obsahovat alespoň jednoho odesilatele (From:) a datum a čas předání zprávy přenosové složce(orig-date:). Měla by obsahovat adresáta (To:), je-li jich více, pak jednotlivé adresy oddělujeme čárkou. Stejně tak lze uvést adresáta kopie dopisu, který buď bude v dopise uveden (Cc:), nebo nikoliv (Bcc:). Součástí Internetové etiky je vyplnit předmět dopisu (Subj:). Na poštovním klientovi je, aby doplnil datum a čas odeslání (Date:) a identifikační řetězec (Message-Id:). Peřenosové složky pak do zprávy zapíší údaje, kudy zpráva prošla (Received:) atp.

Z hlavičky může příjemce vyčíst, kdy a kým byla zpráva odeslána, co je obsahem zprávy a kudy zpráva putovala sítí.

Přenosové složky se však při přeposílání zprávy neřídí informacemi z hlavičky. Každá zpráva je pro přenos vybavena tzv. obálkou (vytváří ji poštovní klient). Obálka obsahuje adresu odesílatele a alespoň jednu adresu příjemce. Informace v obálce se však nemusejí shodovat s informacemi v hlavičce zprávy!.

Existuje několik důvodů, proč jsou směrodatné informace pro doručení pošty uloženy v obálce a nikoliv ve zprávě samotné.

Doručení pošty skrz internet se děje na základě MX záznamů v DNS. Pro jendo jméno může existovat více MX záznamů s různou hodnotou preference a host (viz příklad 2). Pro přeposlání pošty bude vybrán záznam s nejnižší hodnotou preference. Nebude-li dostupný, použije se záznam s nejnižší vyšší prioritou. Tím je zajištěno doručení pošty i při výpadku uzlu.

Pokud pro určitou směrovou část adresy neexistuje MX záznam, přenosová složka se pokusí poštu doručit na počítač, jehož jméno se shoduje se směrovou částí adresy (pokud takovy počítač existuje). Přesto je dobrý důvod MX zaznamy v konfiguraci uvádět. Většina DNS serverů spolu s odpovědí posílá i IP adresy počítačů, na něž MX záznamy ukazují. Stačí tedy jeden dotaz.

; Zone vslib.cz
@               IN      SOA     bubo.vslib.cz.  satrapa.bubo.vslib.cz. (
                                96060400        ;serial
                                7200            ;refresh
                                720             ;retry
                                3600000         ;expire
                                400000          ;minimum
                                )

                IN      NS      bubo.vslib.cz.
                IN      NS      ns.cesnet.cz.
;
; name	ttl	IN	MX	preference	host
;
                IN      MX      0       bubo.vslib.cz.
                IN      MX      50      adis.cesnet.cz.
                IN      MX      100     vscht.vscht.cz.
                IN      MX      150     mcsun.eu.net.
                IN      MX      200     relay1.uu.net.
                IN      MX      250     relay2.uu.net.

;hosts in vslib.cz.
bubo            IN      A       147.230.16.1

		IN      MX      0       bubo.vslib.cz.
                IN      MX      50      aci.cvut.cz.
                IN      MX      100     vscht.vscht.cz.
                IN      MX      150     mcsun.eu.net.
                IN      MX      200     relay1.uu.net.
                IN      MX      250     relay2.uu.net.

ftp             IN      CNAME   bubo.vslib.cz.
gopher          IN      CNAME   bubo.vslib.cz.
netfind         IN      CNAME   bubo.vslib.cz.
parker          IN      CNAME   bubo.vslib.cz.
loghost         IN      CNAME   bubo.vslib.cz.
mailhost        IN      CNAME   bubo.vslib.cz.

př.2: konfigurace DNS s MX záznamy

Kromě MX záznamů (a samozřejmě A záznamů sloužících pro získání IP adresy) se při dopravě elektronické pošty uplatňují CNAME záznamy. Pokud se v libovolné adrese vyskytne přezdívka (např. gopher.vslib.cz), bude nahrazena kanonickým jménem (bubo.vslib.cz). Poštu zaslanou na ...@gopher.vslib.cz bude počítač bubo.vslib.cz automaticky považovat za lokální.


MIME

Rozšíření MIME (Multipurpose Internet Mail Extension) jsou věnována RFC2045 až RFC2049. Zavedeni MIME se snaží řešit omezení původního standardu podle RFC822. MIME je standardem, který doplňuje RFC822 a zajišťuje zpětnou kompatibilitu. Je navrženo tak, aby mohly být posílany stávajícím poštovním systémem zprávy obsahující diakritiku, obrázky, zvuk atd.

MIME se tedy zabýva problémy:

Hlavičky MIME:
Message-ID: <335A2639.C79@pvt.cz>
Date: Sun, 20 Apr 1997 16:20:41 +0200
From: Libor Dostalek <dostalek@pvt.cz>
X-Mailer: Mozilla 3.01Gold (WinNT; I)
MIME-Version: 1.0
To: dostalek@pvt.net
Subject: (no subject)
Content-Type: audio/wav
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="ding.wav"

UklGRkYtAABXQVZFZm10IBAAAAABAAEAIlYAACJWAAABAAgAZGF0YSItAACAgICAgICAgICA    
gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA
gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC

př.3: ukázka MIME zprávy

Spam a obrana proti němu

Filtrování pošty

Filtrování doručené pošty jako obrana proti spamu existuje na třech úrovních:

Typy filtrování


Postfix

SMTP server Postfix představuje náhradu za sendmail. Narozdíl od sendmailu není jeho konfigurace příliš komplexní. Během procesu instalace jsou kladeny dotazy na umístění souborů. Po skončení je vytvořena skupina postdrop a uživatel a skupina postfix. V souboru /etc/postfix/aliases je nutné uprvit aliasy uživatelů. Až tak učiníme, vygenerujeme příkazem $ postalias /etc/postfix/aliases hash databázi. Rovněž je nutné upravit konfigurační soubor /etc/postfix/main.cf.


Literatura