Simple Mail Transfer Protocol

SMTP(ang.Simple Mail Transfer Protocol) –protokół komunikacyjnyopisujący sposób przekazywaniapoczty elektronicznejwInternecie.Standard został zdefiniowany w dokumencieRFC 821 ↓,a następnie zaktualizowany w 2008 roku w dokumencieRFC 5321 ↓.

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. DemonSMTP działa najczęściej na porcie 25. Można przetestowaćserwerSMTP przy użyciuprogramutelnet.

Historia

edytuj

SMTP zaczęło być szeroko używane we wczesnych latach osiemdziesiątych dwudziestego wieku. W tamtym okresie było to uzupełnienieUUCP,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 i odbierająca są na stałe przyłączone do sieci.

Jednym z pierwszychprogramów poczty elektronicznej(jeśli nie pierwszym), w którym zastosowano SMTP byłsendmail.Wroku 2001istniało przynajmniej 50 programów implementujących SMTP jako klient (nadawca) lub serwer (odbiorca wiadomości). Niektóre inne popularne programy serwerów SMTP toexim,Postfix,Qmail,MDaemon,GroupWisefirmyNovelliMicrosoft Exchange.

Protokół ten nie radził sobie dobrze z plikami binarnymi, ponieważ stworzony był w oparciu o czysty tekstASCII.W celu kodowania plików binarnych do przesyłu przez SMTP stworzono standardy takie jakMIME.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żąPOP3lubIMAP.

Ograniczenia

edytuj

Jednym z ograniczeń pierwotnego SMTP jest brak mechanizmu weryfikacji nadawcy, co ułatwia rozpowszechnianie niepożądanych treści poprzez pocztę elektroniczną (wirusy komputerowe,spam). Żeby temu zaradzić stworzono rozszerzenieSMTP-AUTH,które jednak jest tylko częściowym rozwiązaniem problemu - ogranicza wykorzystanie serwera wymagającegoautoryzacjido zwielokrotniania poczty. Nadal nie istnieje metoda, dzięki której odbiorca uwierzytelniłby nadawcę – nadawca może "udawać" serwer i wysłać dowolny komunikat do dowolnego odbiorcy.

Przykład sesji SMTP

edytuj

Poniżej przedstawiona jest przykładowa sesja SMTP (z serweremexim), w której klient kolejno:

  • rozpoczyna połączenie z serwerem (poleceniehelo),
  • podaje adres nadawcy (poleceniemail from),
  • podaje adres odbiorcy (poleceniercpt to),
  • wpisuje wiadomość (poleceniedata),
  • kończy sesję (poleceniequit).

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: <[email protected]>
250 OK
rcpt to: <[email protected]>
250 Accepted
data
354 Enter message, ending with "." on a line by itself
Date: 03 Jan 07 21:21:21
From: [email protected]
To: [email protected]
Subject: temat wiadomosci

tresc wiadomosci
.
250 OK id=1Coql6-0003Qi-MP
quit
221 serwer.email.com closing connection

Wprowadzanie treści wiadomości kończy się kropką, po której znajduje się znak nowej linii.


Dokumenty RFC

edytuj

Zobacz też

edytuj

Linki zewnętrzne

edytuj