email Email email Email spolupráce více systémů Pro zajištění služby je používáno více aplikačních protokolů, např.: DNS SMTP POP or IMAP MSGFMT (RFC822,...) a MIME Email splitting & relaying 1
relaying vs. forwarding Open relay Relaying předávání zprávy mezi MTA Forwarding přeposlání mailu z mailové schránky do jiné MTA, který přijme a přepošle zprávu od kohokoliv komukoliv Původně standardní, s příchodem spamu se stal nežádoucí Mail server nakonfigurovaný jako open relay bývá blokován v rámci protispamových opatření Využití DNS Využití DNS Součástí DNS jsou speciální záznamy MX. MTA obdrží zprávu pro mary@bar.net: kontaktuje DNS pro zjištění MX záznamu pro bar.net. Například dostane odpověď mail.bar.net. Dále proběhne standardní DNS dotaz pro zjištění IP adresy. MX záznamů pro doménu bývá zpravidla více, zpravidla s uvedenou prioritou. Pokud mail nelze doručit na primární mail server, vyhledá se v DNS sekundární mail server, kde se zpráva dočasně uloží, a proběhne několik pokusů o doručení na primární mail server (opět se vyhledá v DNS). Pak je mail odeslán na standardní port pro protokol SMTP (25). Formát zprávy: Formát zprávy: Email se skládá z obálky a samotn zprávy, která má záhlaví a tělo zprávy. Obálka obsahuje informace nutné pro přenos zprávy a je generována během přenosu. Zpráva obsahuje informace od odesilatele (koncovému) příjemci, teoreticky by se v průběhu přenosu neměla měnit. Některé údaje jsou obsaženy v obálce i záhlaví např. Adresa odesilatele a příjemce. 2
Formát zprávy: Formát zprávy: Příklad: Když pošleme mail na mailing list, je pak přesměrován na jednotlivéčleny. Záhlaví obsahuje původního odesilatele a jako příjemce je uveden mailing list. Obálka obsahuje různé informace: Formát záhlaví: <header name>:<header value> Definovaná záhlaví:rfc 822 Date - datum a čas kdy byl email odeslán klientem (pov.) From: - mailová adresa (pov.) Reply-To - adresa pro zaslání odpovědi (vol.) To: - adresy příjemců Cc:, Bcc:, - volitelné Message-ID jedinečný identifikátor zprávy (pov.) In-Replay-To identifikátor původní zprávy (vol.) Subject volitelné Received trasovací záznamy vkládané při doručování mailu Formát záhlaví MIME MIME Mailové systémy před rokem 1992 zpracovávaly maily obsahující pouze text v 7 bitovém ASCII. Tělo zprávy se může skládat z více částí entit: V roce 1992 byl přidán standard MIME, který umožňuje: vícenásobné objekty v jedné zprávě - neomezenou délku řádku a zprávy - jiné znakové sady - posílání binárních dat - posílání audia, videa a multimedií -... 3
Každá entita má své záhlaví MIME headers MIME-Version: povinné, informace o použití MIME Content type: informace o typu dat, multipart/simple Content-Transfer-Encoding: informace o kódování použitém pro přenos (jen pro simple) Content-ID Content-Description Content-Type: Určuje typ dat MIME Heading Extensions Content-Type: TEXT Content-Type:APPLICATION - binární data a aplikační data APPLICATION/POSTSCRIPT. Content-Type: MESSAGE pro email v emailu Content-Type: IMAGE bitmapa Content-Type: AUDIO Content-Type: VIDEO Content-Type: MULTIPARTED (skládá se z několika entit) Struktura mailu MIME - encoding MIME upraví formát dat tak, aby mohla být přenesena v systému 7 bitového ASCII. Používá dvě metody base64 a quoted-printable. MIME - encoding MIME - encoding Base64 použije 4 znaky pro reprezentaci 3 8birových hodnot (24 bitů je rozděleno do 4 skupin po 6 bitech) Např: 212 39 247 (původní kódy znaků) 11010100 00100111 11110111 (binární podoba) 110101 000010 011111 110111 (změna rozdělení) 53 2 31 55 1 C F 3 (po změně kódování) quoted-printable Kód znaku je zapsán v hexadecimální podobě a před něj je doplněno = Např: 10 (znak CR) =OD (po změně kódování) Pozn: Díky změně kódování dochází k nárůstu velikosti mailu 4
MIME kódování v záhlaví mailu MIME také definuje kódování znaků v záhlaví (RFC 2047) Položka záhlaví je nahrazena: <?<charset>?<encoding>?<encoded-text>?> Subject: =?iso-8859-2?q?nov=e1=20verze=20domovsk =E9=20str=E1nky=20Seznam=2Ecz?= SMTP SMTP Základní SMTP příkazy: Pro komunikaci mezi agenty se používá protokol SMTP. SMTP řízení přenosu specifikuje údaje v obálce emailu session-oriented protocol HELO (EHLO) > zahajuje session, identifikace odesílajícího počítače MAIL FROM: -> zahajuje proces zadávání mailu RCTP TO: -> příjemce mailu DATA -> označuje začátek těla mailu, konec je označen tečkou na samostatném řádku QUIT -> ukončení SMTP session odeslání emailu přes telnet telnet mail.company.com 25 220 welcome to mail.company.com STMP version 1.3.0 HELO johnny.home.com 250 mail.company.com Hello johnny.home.com MAIL FROM: johnny.lunchpail@company.com 250 johnny.lunchpail@company.com Sender ok RCPT TO: boss@company.com 250 boss@company.com Recipient ok DATA Subject: Client not pleased The client is not pleased that there were no Cokes in the vending machine; on attempting to placate client with Nachos - the vending machine ate client's money without dispensing said snack.. 250 Message accepted for delivery QUIT přenos zprávy ke koncovému příjemci. v SMTP přenosu má kontrolu nad přenosem odesilatel, což neni použítelné pro UA příjemce, který nemusí být online a připraven pro přijetí zprávy. Proto je potřeba protokol, který dá kontrolu UA. Nejvíce se používá POP a IMAP. Od SMTP se liší také tím, že je vyžadována identifikace, která má zabránit čtení cizích zpráv. 5
přenos zprávy ke koncovému příjemci. POP (Post Office Protocol) slouží ke stažení mailu na počítač uživatele IMAP interaktivní, uživatelé mohou manipulovat s poštou uloženou na serveru, umožňuje například prohledávání zpráv přímo na serveru... přečtení emailu přes telnet (1/3) telnet mail.company.com 110 +OK POP3 welcome to Company mail server USER johnny.lunchpail +OK welcome PASS sandwich +OK maildrop locked and ready STAT +OK 4 44767 LIST +OK 4 messages (44767 octets) 1 34012 2 2045 3 2903 4 5807 přečtení emailu přes telnet (2/3) RETR 2 +OK 2045 octets X-Apparently-To: johnny.lunchpail@company.com via 206.xx.11.111; Thu, 09 Sep 2004 23:02:52-0700 X- Originating-IP: [216.xx.11.111] Return-Path: Received: from 206.xx.111.112 (HELO mail.company2.com) (216.xxx.131.194) by mail.sender.com with SMTP; Thu, 09 Sep 2004 23:02:51-0700 From: "Get rich" richness@richguys.com To: johnny.lunchpail@company.com Subject: Allergies bothering you? Buy drugs online. DELE 3 +OK msg deleted RSET +OK DELE 2 +OK msg deleted QUIT přečtení emailu přes telnet (3/3) Why don't you buy drugs from our website.. 6