r07.pdf
(
188 KB
)
Pobierz
r07
Wysyłanie poczty elektronicznej
PROTOKÓŁ SMTP
2
1.
Krótka historia
Mimo nowych mo
liwo
ci, jakie daj
komunikatory, e-mail ci
gle zyskuje na
popularno
ci i znaczeniu. Z bada
rynku przeprowadzonych przez IDC wynika,
e w roku
2005 mo
na si
spodziewa
36 miliardów e-maili dziennie! W roku 2000 w u
yciu było
około 505 milionów skrzynek poczty elektronicznej, w roku 2005 t
form
komunikacji
ma si
ju
posługiwa
ok. 1,2 mld u
ytkowników.
Wszystko zacz
ło si
w roku 1971 w sposób, który trudno byłoby nazwa
spektakularnym. Technik w BBN, Ray Tomlinson, przestał e-mail mi
dzy dwoma
komputerami, które były poł
czone w sieci ARPAnet. Poszukuj
c rzadko u
ywanego
znaku dla wyró
nienia poczty elektronicznej odkrył @ i w ten sposób ustanowił symbol
nowej epoki.
Kolejnym krokiem milowym w historii poczty elektronicznej było opracowane w roku
1981 przez Erica Allmana oprogramowanie Sendmail. Umo
liwiło ono po raz pierwszy
wysyłanie za pomoc
programu pocztowego wiadomo
ci jednocze
nie do wielu sieci.
Dzisiejszy sukces e-maila był nie do przewidzenia w roku 1971 i wynalazek Thomlinsona
zasłu
ył sobie tylko na kilka wzmianek w prasie. Dzi
nie sposób wyobrazi
sobie
ycia
bez poczty elektronicznej, a dla wielu ludzi jest ona wr
cz warunkiem funkcjonowania.
Poczta elektroniczna opiera si
na trzech protokółach – SMTP do wysyłania oraz POP
i IMAP do odbioru. Specyfikacj
ka
dego protokołu opisano w jednym lub kilku RFC.
2.
Simple Mail Transfer Protocol – SMTP
Zadaniem SMTP jest niezawodny i wydajny transport wiadomo
ci. Protokół ten jest
niezale
ny od protokołu sieciowego; zwykle stosowany jest standardowy protokół
Internetu, TCP. Komunikacja odbywa si
przez port 25.
Za wymian
wiadomo
ci odpowiadaj
tzw. mail transfer agents (MTA). Najbardziej
znanym MTA jest Sendmail. U
ytkownik zwykle nie ma z nimi bezpo
rednio do
czynienia. Dostaw
poczty do i z MTA zajmuj
si
klienty pocztowe, takie jak Outlook
czy KMail. MTA komunikuj
si
mi
dzy sob
za pomoc
zwykłych znaków ASCII.
Klient wysyła polecenia do serwera, który odpowiada za pomoc
kodu numerycznego
i opcjonalnego ci
gu znaków.
Simple Mail Transfer Protocol ma jednak jedn
, istotn
wad
– po wystaniu e-maila nie
otrzymuje si
adnej wiadomo
ci o jego dalszych losach. Specyfikacja przewiduje
http://sieci-komputerowe.w.interia.pl
jm.webmaster@gazeta.pl
3
wprawdzie powiadomienie nadawcy w sytuacji, gdy wiadomo
nie mo
e by
dostarczona. Nie jest okre
lone jednoznacznie, jak taka wiadomo
ma wygl
da
. Zwykle
jest to e-mail z komunikatem o bł
dzie i nagłówkiem niedostarczonej wiadomo
ci.
Ze wzgl
du na brak standardu w praktyce rzadko udaje si
ustali
, gdzie i dlaczego
wyst
pił bł
d.
Dlatego te
opracowano rozszerzenie SMTP, definiuj
ce standardowe powiadomienia
o bł
dach. Niestety bardzo niewiele serwerów obsługuje obecnie to rozszerzenie.
2.1. Proces SMTP
Rys.: Sie
o topologii magistrali
ródło: Komar, B. (2002). TCP/IP dla ka
dego. Gliwice: Helion, strona 373
Typowe poł
cznie SMTP składa si
z etapów:
·
Klient SMTP inicjuje poł
czenie z serwerem SMTP. Klient korzysta z losowo
wybranego portu o numerze powy
ej 1024 i ł
czy si
z portem serwera
o numerze 25. Serwer sygnalizuje akceptacj
poł
czenia komunikatem 220
<Ready>
·
Klient
da ustanowienia sesji poprzez wysłanie polecenia HELO (ang. Hello)
lub EHLO (ang. Extended Hello). Polecenie to powinno zawiera
pełn
nazw
(FQDN) klienta. Serwer odpowiada komunikatem 250
<OK>
·
Klient informuje serwer, kto wysyła wiadomo
, wykorzystuj
c polecenie MAIL
FROM: <Adres>, gdzie <Adres> jest adresem poczty elektronicznej
u
ytkownika wysyłaj
cego. Zazwyczaj odpowiada on adresowi zwrotnemu
http://sieci-komputerowe.w.interia.pl
jm.webmaster@gazeta.pl
4
okre
lonemu w programie pocztowym klienta. Serwer ponownie powinien
odpowiedzie
komunikatem 250
<OK>.
·
Klient okre
la nast
pnie wszystkich odbiorców, do których wiadomo
jest
skierowana. Korzysta w tym celu z polecenia RCPT TO: <Adres>. Je
eli serwer
obsługuje wielu odbiorców, dla ka
dego z nich przesyłane jest kolejne polecenie
RCPT TO:. Odpowiedzi
serwera na informacj
o ka
dym kolejnym odbiorcy
jest komunikat 250
<OK>.
·
Klient informuje o gotowo
ci do przesyłania wła
ciwej wiadomo
ci
komunikatem DATA. Serwer odpowiada komunikatem 250
<OK>.
Okre
la
równie
ci
g znaków, który spodziewa si
otrzyma
na znak ko
ca tre
ci
wiadomo
ci. Najcz
ciej jest to [CR][LF].[CR][LF]. Potem nast
puje przesłanie
do serwera tej
e tre
ci. Wiadomo
przesyłana jest przy u
yciu znaków 7-
bitowego ASCII. Je
eli towarzysz
jej zał
czniki, musz
one zosta
przetworzone do tej postaci. Wykorzystuje si
do tego celu mechanizm BinHex,
uuencode lub MIME.
·
Po zako
czeniu transmitowania wiadomo
ci, klient wysyła polecenie QUIT
ko
cz
ce sesj
SMTP. Serwer odpowiada komunikatem 221
<C1osing>,
co
oznacza,
e nast
piło zako
czenie sesji. Je
eli klient wysyła nast
pn
wiadomo
, proces ponownie rozpoczyna si
od polecenia MAIL FROM:.
Rys.: Droga e-maila od nadawcy do odbiorcy
ródło: „PC World Komputer PRO”. Nr 3/2003
2.2. Polecenia protokołu SMTP
Polecenie definiuj
sposób przesyłania e-maili. Zgodnie ze specyfikacj
implementcaja SMTP musi obsługiwa
co najmniej osiem polece
:
http://sieci-komputerowe.w.interia.pl
jm.webmaster@gazeta.pl
5
Tabela 1. Polecenia SMTP.
POLECENIE
OPIS
HELO
Inicjuje poł
czenie i identyfikuje nadawc
SMTP dla odbiorcy SMTP
MAIL
Inicjuje transakcj
pocztow
RCPT
Identyfikuje pojedynczego adresata
DATA
Identyfikuje wiersze nast
puj
ce po poleceniu jako dane pocztowe od
nadawcy
RSET
Przerywa bie
c
transakcj
pocztow
SEND
Dostarcza poczt
do terminala
SOML
Dostarcza poczt
do terminala. Je
eli ta operacja si
nie powiedzie,
poczta zostanie dostarczona do skrzynki pocztowej
SAML
Dostarcza poczt
do terminala. Poczta jest równie
dostarczana do
skrzynki pocztowej
VRFY
Weryfikuje nazw
u
ytkownika
EXPN
Rozwija list
dystrybucyjn
HELP
Sprawia,
e odbiorca wysyła przydatne informacje
NOOP
da, by odbiorca wysłał odpowied
OK, ale w przeciwnym razie nie
okre
la
adnych działa
QUIT
da, by odbiorca wysłał odpowied
OK, a nast
pnie zamkn
ł kanał
transmisyjny
TURN
da, by odbiorca przej
ł rol
nadawcy. Je
eli zostanie otrzymana
odpowied
OK, to nadawca staje si
odbiorc
2.3. Kody odpowiedzi SMTP
Kody odpowiedzi SMTP gwarantuj
,
e klient jest na bie
co informowany o statusie
serwera. Ka
de polecenie wymaga kodu odpowiedzi od serwera. Klient decyduje
o sposobie dalszego post
powania wył
cznie na podstawie otrzymanych zwrotnie
kodów numerycznych.
Tabela 2. Kody odpowiedzi SMTP
KOD
ZNACZENIE
211
Odpowied
stanu systemu lub pomocy systemowej.
214
Komunikat pomocy.
220
Usługa gotowa.
http://sieci-komputerowe.w.interia.pl
jm.webmaster@gazeta.pl
Plik z chomika:
twardy510
Inne pliki z tego folderu:
15.pdf
(120 KB)
r01.pdf
(286 KB)
r02.pdf
(77 KB)
r03.pdf
(301 KB)
r04.pdf
(203 KB)
Inne foldery tego chomika:
Sieci komputerowe
Sieci komputerowe administracja
Sieci komputerowe administracja(1)
Sieci komputerowe administracja(2)
Sieci komputerowe administracja(3)
Zgłoś jeśli
naruszono regulamin