Zpět na hlavní stránku Autor: Martin Kot

2. Obecné normy pro e-mail

2.1. Formát zpráv podle RFC 822

Obecný formát elektronické pošty byl definován v RFC 822 v roce 1982. Tento dokument definuje formát dat, která mohou být přenášena protokoly učenými pro e-mail. Mezi tyto protokoly patří POP3 (Post Office Protocol), SMTP (Simple Mail Tranfer Protocol) a další.

Zpráva se podle RFC 822 skládá z obálky a vlastního obsahu zprávy. Obálka definuje informace související s přenosem a doručením zprávy. Také obsahuje informace důležité pro odpověď. Každá taková informace se obvykle uvádí na samostatný řádek. Na začátku je klíové slovo určující danou informaci (např. From, Reply to atd), následuje odpovídající hodnota a řádek koní znaky CR/LF.

Obsah zprávy se dělí na hlavičku a tělo zprávy. Hlavička se automaticky generuje při odeslání a mění se na každém agentovi, přes kterého mail prochází. Je zde uložen identifikátor zprávy a časové razítko dodané každým agentem. Tělo zprávy obsahuje libovolný text a od hlavičky se odděluje prázdným řádkem (řádek obsahující pouze znaky CR a LF). Někteří agenti předpokládají, že zpráva bude kratší než 64kB a každý řádek maximálně 1000 znaků.

Přenos pošty je omezen pouze na čistě textové znaky (ASCII znaky jejichž nejvyšší bit je roven nule). V praxi je velká pravděpodobnost, že se správně přenesou i 8bitové znaky, ale není to zaručeno.

2.2. Rozšíření MIME

Protože přenos čistě textových zpráv neodpovídal všem požadavkům uživatelů elektronické pošty, byla v RFC 2045 - 2049 z roku 1996 definována alternativní struktura zpráv. Tato struktura se jmenuje MIME (Multipurpose Internet Mail Extensions - Víceúčelové rozšíření internetové pošty). Pomocí MIME je možné posílat binární data.

MIME definuje několik typů obsahu zprávy pro textová i binární data. Každý ze základních typů má podtypy. MIME povoluje rekurzi (v těle zprávy je obsažena jiná zpráva). Typů zprávy je šest (text, image, audio, application, structured, message).

Protože mnoho prvků přes které mail v síti prochází podporuje jen 7bitové znaky, kódují se MIME zprávy různými kódováními na těchto 7 bitů. Hlavička MIME definuje pro použité kódovaní pole se jménem Content Transfer Encoding, které nabývá jednu z hodnot uvedených v tabulce:

Tabulka 2.1
KódováníPopis
Quoted-PrintablePro zprávy, kde většina znaků je znaky 7bitového ASCII. Kódují se jen 8bitové znaky.
Base64Každá skupina 3 znaků je převedena na 4 znaků po 6 bitech. Všechny znaky se převádějí do množiny 65 znaků, které jsou společné ASCII, EBCDIC a ISO646.
BinaryK žádnému kódování nedochází a znaky mohou být 8bitové. Umožňuje delší řádky než povolené v normě.
Seven-BitNeprovádí kódování. Znaky jsou již 7bitové.
Eight-BitNeprovádí kódování. Znaky jsou již 7bitové a řádky dostatečně krátké.
X-TokenMetoda kódování se privátně potvrzuje mezi odesílatelem a příjemcem.

3.1. PEM