SMTP, alternativní MTA

Jiří Šimek, xsimek1@fi.muni.cz


Obsah


Definice SMTP, co je to elektronický dopis

SMTP je zkratka pro Simple Mail Tranfer Protocol, je definován v RFC 821. Je to ASCII protokol odesílání pošty. Uživatel většinou nemusí znát příkazy SMTP, těmi zpravů obalí Mail User Agent. Komunikace po TCP přípojení k cílovému stroji na port 25 začíná příkazem HELO. Pokud stroj akceptuje příkaz EHLO je implementovaná protokol E-SMTP, který je definován v RFC 1869 a je rozšířením původního protokolu.

Elektronický dopis je zpráva, která je doručována pomocí protokolu SMTP. E-mail se skládá z obálky, hlavičky a těla zprávy. Obálka je uložena mimo zprávu, obsahuje příjemce a odesílatele zprávy. Může být různé od From: a To:. Hlavička obsahuje řídící informace a má pevnou strukturu. Je ukončena prázdným řádkem. Dále pokračuje tělo zprávy.
Jednotlivé části si ukážeme na příkladu:

>From xmachac@informatics.muni.cz  Tue Mar 19 02:42:59 2002
Received: from anxur.fi.muni.cz (0@anxur.fi.muni.cz [147.251.48.3])
        by aisa.fi.muni.cz (8.8.5/8.8.5) with ESMTP id CAA129982323;
        Tue, 19 Mar 2002 02:42:59 +0100 (MET)
Received: from aisa.fi.muni.cz (12204@aisa [147.251.48.1])
        by anxur.fi.muni.cz (8.8.5/8.8.5) with ESMTP id CAA27343;
        Tue, 19 Mar 2002 02:43:00 +0100 (MET)
Received: (from xmachac@localhost)
        by aisa.fi.muni.cz (8.8.5/8.8.5) id CAA130619737;
        Tue, 19 Mar 2002 02:42:59 +0100 (MET)
From: Petr Machacek 
Message-Id: <200203190142.CAA130619737@aisa.fi.muni.cz>
Subject: Re: referat
In-Reply-To: <20020318211141.A9545@atys.fi.muni.cz> from Jiri Simek at "Mar 18, 
2 09:11:41 pm"
To: xsimek1@informatics.muni.cz (Jiri Simek)
Date: Tue, 19 Mar 2002 02:42:59 +0100 (MET)
Cc: p090@fi.muni.cz
Reply-To: p090@informatics.muni.cz
X-Mailer: ELM [version 2.4ME+ PL39 (25)]
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

TELO ZPRAVY. (zkraceno)


Příkazy:

HELO
Identifikace odesílatele pro příjemce. Parametr = hostname.
EHLO
Identifikace odesílatele, vrací iplementované příkazy z protokolu E-SMTP. Parametr = hostname. příklad
MAIL FROM:
Začátek mailové transakce mezi odesílatelem a příjemcem. Parametr = odesílatel ve formátu user@host.
RCPT TO:
Specifikuje příjemce pošty, pokud je příjemců více příkaz je třeba zadat vícekrát. Parametr = příjemce ve formátu user@host.
DATA
Vlastní tělo zprávy. Ukončuje se tečkou na samostatném řádku. Ve vlastním těle zprávy je třeba tečky obalit značkami, aby nedošlo k předčasnému ukončení zprávy.
QUIT
Ukončení komunikace.
RSET
Resetuje spojení, veškeré informace o příjemci a odesílateli jsou zahozeny.
VRFY
Kontroluje jestli příjemce opravdu existuje, pokud ano vrací plné jméno uživatele a mailbox.
NOOP
No operation - nedělá nic
EXPN
Expadnuje argument adresu, vrací plné jméno uživatele a mailbox. Parametr = adresa
TURN
Obrací úlohy mezi odesílatelem a příjemcem, bez nutnosti navazovat nové TCP spojení. V protokolu E-SMTP je toto nahrazeno příkazem ETRN. Zřídka implementované příkazy:
SEND
odeslání na terminál
SOML - SEND OR MAIL
odeslání na terminál nebo mail
SAML - SEND AND MAIL
odeslání na terminál a mail


RFC

Normy které definují princip elektronické pošty.
RFC 2045 - Multipurpose Internet Mail Extensions (MIME) - Part 1
RFC 2046 - Multipurpose Internet Mail Extensions (MIME) - Part 2
FC 2046 - Multipurpose Internet Mail Extensions (MIME) - Part 3
FC 2046 - Multipurpose Internet Mail Extensions (MIME) - Part 4
RFC 2049 - Multipurpose Internet Mail Extensions (MIME) - Part 5
RFC 821 - Simple Mail Transfer Protocol (SMTP)
RFC 1123 - Requirements for Internet Hosts - Application and Support
RFC 1893 - Enhanced Mail System Status Codes
RFC 1566 - Mail Monitoring MIB
RFC 2033 - Local Mail Transfer Protocol (LMTP)
RFC 822 - Standard for ARPA Internet Text Messages
RFC 1869 - SMTP Service Extensions (ESMTP)
RFC 2060 - Internet Message Access Protocol (IMAP) - Version 4 Rev 1
RFC 1939 - Post Office Protocol (POP) - Version 3

Příklad:

[xsimek1@diogenes xsimek1]$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 diogenes.ascs.muni.cz ESMTP Postfix
HELO diogenes.ascs.muni.cz
250 diogenes.ascs.muni.cz
MAIL FROM:xsimek1     
250 Ok
RCPT TO:xsimek1
250 Ok
DATA
354 End data with .
From: xsimek1   
To: xsimek1
Subject: test

ahoj,
tohle je ukazka jak pracuje rozesilani posty pomoci protokolu SMTP.

konec simek

.
250 Ok: queued as 793BB9FC18
QUIT
221 Bye

Doručený e-mail:

>From xsimek1@diogenes.ascs.muni.cz Mon Mar 18 11:22:41 2002 Return-Path: Delivered-To: xsimek1@diogenes.ascs.muni.cz Received: from diogenes.ascs.muni.cz (localhost.localdomain [127.0.0.1]) by diogenes.ascs.muni.cz (Postfix) with SMTP id 793BB9FC18 for ; Mon, 18 Mar 2002 11:21:00 +0100 (CET) From: xsimek1@diogenes.ascs.muni.cz To: xsimek1@diogenes.ascs.muni.cz Subject: test Message-Id: <20020318102100.793BB9FC18@diogenes.ascs.muni.cz> Date: Mon, 18 Mar 2002 11:21:00 +0100 (CET) Status: RO Content-Length: 88 Lines: 5 ahoj, tohle je ukazka jak pracuje rozesilani posty pomoci protokolu SMTP. konec simek -

E-SMTP

[xsimek1@diogenes xsimek1]$ telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 diogenes.ascs.muni.cz ESMTP Postfix ehlo diogenes 250-diogenes.ascs.muni.cz 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-XVERP 250 8BITMIME

Další protokoly spojené s doručováním pošty - POP a IMAP

Tyto protokoly se používají k vzálenému přístupu ke schránkám.
POP3
Minimální implementace umožňuje přihlášení pod heslem, získání seznamu zpráv a jejich získání a smazání.
IMAP
Oproti POP3 má více funkcí: umí vytvářt, mazat, přejmenovávat mailboxy, kontrolovat novou poštu RFC-822 a MIME parsing, vyhledávání v poště.
K oběma protokolům existují verze POP3S a IMAPS, které využívávají SSL šifrování.

Spam a ochrana proti němu

SMTP-after-POP

http://www.networkz.ch/projects/pl-SaPd/
http://www.lifewithqmail.org/ldap/patches/smtp-after-pop/

Servery: - alternativní MTA

Postfix je freewarový projekt, který si vybral za cíl nahradit Sendmail.
Základní informace:
Rozšízení = kvůli výkonnosti a bezpečnosti
Výkon = až třikrát rychlejší než ostatní MTA (podle www.postfix.org)
Kompatibilita = kompatibilita s konfiguračními soubory Sendmailu
Flexibilita = skládá se z více malých programů
Bezpečnost = chrootované prostředí, žádný program není setuid

Download:

http://www.postfix.org/ftp-sites.html

RPM:

http://www.WL0.org/~sjmudd/postfix/

Stavba Postfixu:

http://www.postfix.org/receiving.html

Konfigurace:

http://www.postfix.org/basic.html
Další MTA:
Exim
Qmail