SMTP, alternativní MTA
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