Funkce | Odesílání e-mailů |
---|---|
Akronym | SMTP |
Přístav |
25 (bez šifrování) 465 (implicitní šifrování) 587 ( explicitní šifrování ) |
RFC |
1982 : RFC 821 2008 : RFC 5321 |
Simple Mail Transfer Protocol ( SMTP , doslovně „ Simple Mail Transfer Protocol “) je komunikační protokol používaný k přenosu elektronické pošty ( e-mailu ) na e-mailové servery .
SMTP je poměrně přímočarý protokol (jak název napovídá). Začínáme zadáním odesílatele zprávy, poté příjemce (příjemců) zprávy , poté se obvykle po ověření jejich existence přenese tělo zprávy. Je možné otestovat server SMTP pomocí příkazu telnet na portu 25 vzdáleného serveru.
SMTP se začal široce používat počátkem 80. let . Jedná se pak o doplněk k UUCP , který je vhodnější pro přenos elektronické pošty mezi stroji, jejichž vzájemné propojení je přerušované. SMTP na druhou stranu funguje nejlépe, když jsou stroje, které odesílají a přijímají zprávy, neustále propojeny.
Software Sendmail je jedním z prvních, ne-li prvním, e-mailovým serverem, který používá SMTP. Od té doby většina e-mailových klientů může k odesílání zpráv používat SMTP. Objevily se některé nové servery, například Postfix , Qmail od Daniela J. Bernsteina , Exim a Exchange od Microsoftu .
Protože protokol používal ASCII ( 7bitový ) text , nefungoval pro odesílání žádných bajtů do binárních souborů . K překonání tohoto problému byly vyvinuty standardy, jako je MIME, které umožňují kódování binárních souborů přes SMTP. Dnes většina serverů SMTP přijímá 8bitový MIME, takže přenos binárních souborů je téměř stejně snadný jako prostý text.
SMTP používá pro přenos dat TCP .
SMTP neumožňuje vzdálené načítání e - mailů, které dorazily do poštovní schránky na serveru. Za tímto účelem byly vytvořeny standardy Post Office Protocol (POP) a IMAP .
Přenos zpráv mezi poštovními servery se obvykle provádí na portu 25, což je standardní port registrovaný u IANA . Servery používají záznamy MX jednotlivých serverů DNS směrování pošty.
Mailový klient také používají port 25 (SMTP) k předložení zprávy pomocí SMTP. Potřeba lepší kontroly podání klienta, zejména prostřednictvím ověřování, však vedla k přiřazení portu 587 (podání).
Správci serveru si mohou vybrat, zda klienti používají k přenosu odchozí pošty na poštovní server port TCP 25 (SMTP) nebo port 587 ( odesílání ), formalizovaný v RFC 6409 ( dříve RFC 2476). Specifikace a mnoho serverů akceptuje obojí. Ačkoli některé servery již dlouho podporují historický port 465 (smtps, také nazývané odeslání) pro zabezpečený SMTP, v rozporu se specifikacemi do konce roku 2017, je lepší použít standardní porty a standard ESMTP (Extended SMTP) podle RFC 3207, pokud mezi klientem a serverem se má použít zabezpečená relace. Na začátku roku 2018 však RFC 8314 konečně oficiálně přidělil port 465 protokolu SMTP s implicitním TLS .
Výše uvedený test telnet by v okně terminálového prostředí poskytl dialog podobný:
(vstup uživatele je zobrazen zeleně a zprávy serveru jsou zobrazeny červeně )
telnet smtp.----.---- 25 Connected to smtp.----.----. 220 smtp.----.---- SMTP Ready HELO client 250-smtp.----.---- 250-PIPELINING 250 8BITMIME MAIL FROM: <[email protected]> 250 Sender ok RCPT TO: <[email protected]> 250 Recipient ok. DATA 354 Enter mail, end with "." on a line by itself Subject: Test Corps du texte . 250 Ok QUIT 221 Closing connection Connection closed by foreign host.Všimněte si, že konec textu je označen jediným bodem na jeho řádku. Pokud musí text obsahovat na svém řádku jediný bod, je nutné jej zdvojnásobit (<CR> <LF> .. <CR> <LF>).
Jak je vidět ve výše uvedeném příkladu, existuje přesná syntaxe pro odesílání zpráv a řada třímístných návratových kódů, které označují stav požadavku. První číslice návratového kódu označuje celkový stav požadavku, další dvě číslice udávají podrobnosti o stavu:
Nejběžnější zprávy:
Kódováno | Význam |
---|---|
220 | První kód odeslaný serverem, když je připojení úspěšné. |
250 | Potvrzení objednávky přijato. |
354 | Odpověď na příkaz DATA. Server čeká na data z těla zprávy. Klient označuje konec zprávy jediným bodem na řádku: < CR > < LF >. <CR> <LF> |
421 | Dočasné selhání připojení. Server může být přetížen, omezit počet připojení ze stejné adresy IP nebo může být služba nedostupná. |
452 | Dočasné selhání: dosažen maximální počet příjemců. |
550 | Trvalé selhání. Poštovní schránka neexistuje nebo je adresa příjemce neplatná. |
554 | Trvalé selhání připojení: používá se místo kódu 220 pro hostitele na černé listině. |
Jedním z omezení SMTP je nemožnost ověřit odesílatele. Za tímto účelem byla definována přípona SMTP-AUTH . Bohužel neschopnost široce prosazovat SMTP-AUTH způsobila, že tento protokol byl proti fenoménu spamu bezmocný .
Spam je způsoben řadou faktorů, včetně: implementace nestandardního softwaru Mail Transfer Agent (MTA), bezpečnostních zranitelností v operačních systémech umožňujících spammerům dálkově ovládat uživatelské počítače, aby jim posílali spam, a nakonec nedostatek inteligence od některých MTA .
Aby bylo možné účinně bojovat proti tomuto jevu, existují dva přístupy: důkladná úprava SMTP (nebo dokonce jeho nahrazení) nebo přidání dalších protokolů k vyplnění jeho mezer. Hlavní úprava protokolu SMTP nebo jeho úplné nahrazení se nezdá proveditelná z důvodu důležitosti sítě již nainstalovaných serverů. Přesto byla vyvinuta alternativní řešení, jako je Internet Mail 2000 (en) nebo ePost .
Dalším přístupem je vytvoření systémů na podporu operací protokolu SMTP. Spam Research Group (ASRG) v IRTF (in) , je v současné době Na ověřování e-mailů s cílem zajistit flexibilní, lehký, rozšiřitelný a škálovatelný. Všechna tato vyšetřování vyústila v protokol MARID (v) v roce 2004 a v Protocol DomainKeys Identified Mail v roce 2006.
V roce 2006 AFA doporučila, aby poskytovatelé internetových služeb (ISP) blokovali odchozí pakety TCP / IP určené pro port 25. Vyvinula se myšlenka, že „rezidenční uživatel by měl být schopen odesílat své elektronické zprávy pouze prostřednictvím serveru jeho e-mailu poskytovatel . "
V té době bylo infikovanými počítači generováno 50% až 80% spamu .
Ve Francii a Kanadě se toto doporučení řídili hlavní poskytovatelé internetových služeb: Orange, Bell, Videotron a CCAPcable blokují port 25 pro červen 2007„Od té doby zdarma prosince 2006 (toto je možnost, blokování lze deaktivovat), AOL od roku 2003.
Dnes je zvykem, aby uživatel odeslal zprávu na poštovní server pomocí ověřeného SMTP (port 587). Port 25 je pouze pro servery SMTP mezi sebou.