Simple Mail Transfer Protocol
Z Wikipedii
SMTP (ang. Simple Mail Transfer Protocol) – protokół komunikacyjny opisujący sposób przekazywania poczty elektronicznej w Internecie.
SMTP to względnie prosty, tekstowy protokół, w którym określa się co najmniej jednego odbiorcę wiadomości (w większości przypadków weryfikowane jest jego istnienie), a następnie przekazuje treść wiadomości. Demon SMTP działa najczęściej na porcie 25. Łatwo przetestować serwer SMTP przy użyciu programu telnet.
SMTP zaczęło być szeroko używane we wczesnych latach osiemdziesiątych dwudziestego wieku. W tamtym okresie było to uzupełnienie UUCP, który lepiej sprawdzał się przy przekazywaniu poczty między maszynami posiadającymi jedynie okresowe połączenie. SMTP natomiast lepiej działa, gdy zarówno maszyna nadająca jak odbierająca są na stałe przyłączone do sieci.
Jednym z pierwszych (jeśli nie pierwszym) z programów do przesyłania poczty, w którym zastosowano SMTP był sendmail. W roku 2001 istniało przynajmniej 50 programów implementujących SMTP jako klient (nadawca) lub serwer (odbiorca wiadomości). Niektóre inne popularne programy serwerów SMTP to exim, Postfix, Qmail Bernsteina, MDaemon, GroupWise firmy Novell i Microsoft Exchange.
Protokół ten nie radził sobie dobrze z plikami binarnymi, ponieważ stworzony był w oparciu o czysty tekst ASCII. W celu kodowania plików binarnych do przesyłu przez SMTP stworzono standardy takie jak MIME. W dzisiejszych czasach większość serwerów SMTP obsługuje rozszerzenie 8BITMIME pozwalające przesyłać pliki binarne równie łatwo jak tekst.
SMTP nie pozwala na pobieranie wiadomości ze zdalnego serwera. Do tego celu służą POP3 lub IMAP.
Jednym z ograniczeń pierwotnego SMTP jest brak mechanizmu weryfikacji nadawcy, co ułatwia rozpowszechnianie niepożądanych treści poprzez pocztę elektroniczną (wirusy, spam). Żeby temu zaradzić stworzono rozszerzenie SMTP-AUTH, które jednak jest tylko częściowym rozwiązaniem problemu - ogranicza wykorzystanie serwera wymagającego autoryzacji do zwielokrotniania poczty. Nadal nie istnieje metoda, dzięki której odbiorca autoryzowałby nadawcę – nadawca może "udawać" serwer i wysłać dowolny komunikat do dowolnego odbiorcy.
Spis treści |
[edytuj] Przykład sesji SMTP
Poniżej przedstawiona jest przykładowa sesja SMTP (z serwerem exim), w której klient kolejno:
- rozpoczyna połączenie z serwerem (polecenie helo),
- podaje adres nadawcy (polecenie mail from),
- podaje adres odbiorcy (polecenie rcpt to),
- wpisuje wiadomość (polecenie data),
- kończy sesję (polecenie quit).
Podane nazwy i adresy użytkowników i serwerów są przykładowe.
220 serwer ESMTP Exim 4.43 Wed, 12 Jan 2005 23:14:13 +0100 helo serwer.email.com 250 uzytkownik.internet.com Hello uzytkownik at uzytkownik.internet.com [1.1.1.1] mail from: <nadawca@example.org> 250 OK rcpt to: <odbiorca@example.org> 250 Accepted data 354 Enter message, ending with "." on a line by itself Date: 03 Jan 07 21:21:21 From: nadawca@example.org To: odbiorca@example.org Subject: temat wiadomosci tresc wiadomosci . 250 OK id=1Coql6-0003Qi-MP quit 221 serwer.email.com closing connection
[edytuj] Zobacz też
[edytuj] Dokumenty RFC
- RFC 2821 - "The Simple Mail Transfer Protocol", definicja SMTP, zastąpił starsze RFC 821
- RFC 1869 - "SMTP Service Extensions", określa ramy dla rozszerzeń SMTP (ESMTP), pozwalające klientom i serwerom rozpoznać nawzajem swoje możliwości
- RFC 1891 - "SMTP Service Status Notifications", rozszerzenie SMTP o potwierdzenie odbioru
[edytuj] Linki zewnętrzne
Warstwa aplikacji
ADSP (AppleTalk) • APPC • AFP (AppleTalk) • DAP • DLC • DNS53 • ed2k • FTAM • FTP20,21 • Gopher • HTTP80 • HTTPS443 • IMAP143 • IRC194,529 • Named Pipes • NCP524 • NetBIOS137,138,139 • NWLink • NBT • NNTP119 • NTP123 • PAP • POP3110 • RPC • RTSP • SNMP161,162 • SMTP25 • SMB • SSL/TLS • SSH22 • TDI • Telnet23 • X.400 • X.500 • XDR • ZIP (AppleTalk)
(Cyfry w indeksie oznaczają numery portu)
Warstwa transportowa
ATP (AppleTalk) • NBP (AppleTalk) • NetBEUI • RTP • RTMP (AppleTalk) • SPX • TCP • UDP • SCTP
Warstwa sieciowa
IP • ICMP • IPsec • NAT • IPX • NWLink • NetBEUI • DDP (AppleTalk)
Warstwa dostępu do sieci
ARP • 10BASE-T • 802.11 WiFi • ADSL • Ethernet • EtherTalk • FDDI • Fibre Channel • ISDN • LocalTalk (AppleTalk) • NDIS • ODI • PPP • RS-232 • SLIP • Token Ring • TokenTalk (AppleTalk) • V.90