http://soltysiak.com
..Królowa Kinga została swięta bo Bolesław był wstydliwy..
Tresc zawarta w tym artykule jest z pewnoscia znana wielu osobom, jednak zdecydowalem sie to opisac gdyz mam nadzieje, ze moze to wplynac na wiele osob tak jak to odkrycie wplynelo na mnie. A to bylo bardzo interesujace.
Glownym celem mojego przedstawienia sposobu komunikacji w protokole SMTP miedzy klientem a serwerem jest fundamentalny fakt, ze odbywa sie ona jak rozmowa. Uzywane sa slowa - komendy, na ktore dostajemy odpowiedzi. Co wiecej wiekszosc protokolow Internetowych realizuje komunikacje za pomoca komunikatow czytelnych dla czlowieka. Np. HTTP, FTP, Ident, POP3, IMAP czy IRC.
Zdecydowalem sie przedstawic przebieg pojedynczej transakcji polegajacej na
wyslaniu jednej wiadomosci przez nadawce. Bedzie to przypadek
nie wykorzystujacy technologii takich jak STARTTLS czy SMTP-AUTH. Sa to
rozszerzenia, ktore w nie sa niezbedne do zrealizowania przykladu i
przedstawienia fundamentow. Dodatkowo nie rozwodze sie tutaj
nad kwestiami technologii takich jak SPF,
RBL czy open relay.
Oto przebieg:
Przyklad zrealizowany na podstawie prawdziwego polaczenia do mojego
wlasnego serwera SMTP jednak wszystkie adresy zostaly zmienione na fikcyjne.
Dane transakcji:
Serwer SMTP do ktorego sie podlaczamy nazywa sie: smtp.mail.com
Adres nadawcy przesylki: nadawca@yahoo.com
Adres adresata przesylki: odbiorca@mail.com
Uzyta konwencja:
K poprzedza komunikaty wyslane przez klienta.
S poprzedza komunikaty wyslane przez serwer.
Kolejne etapy oddzielam pusta linia, w rzeczywistosci nie stosuje
sie tego, chociaz mozna.
S: 220 smtp.mail.com ESMTP # Serwer sie przywital K: ehlo domena.com # my tez, jestesmy z domena.com S: 250-smtp.mail.com # Serwer przedstawia co obsluguje S: 250-STARTTLS # jw. S: 250-AUTH LOGIN PLAIN # jw. S: 250-AUTH=LOGIN PLAIN # jw. S: 250-PIPELINING # jw. S: 250 8BITTIME # jw. K: mail from: <nadawca@yahoo.com> # Okreslamy adres nadawcy S: 250 ok # Serwerowi to pasuje K: rcpt to: <odbiorca@mail.com> # Okreslamy adres adresata S: 250 ok # To tez mu pasuje K: data # Chcemy przeslac przesylke S: 354 go ahead # Serwer sie zgadza K: From: Stefan # Wysylamy naglowki SMTP K: To: Halinka # Nie musza istniec zadne, ale K: Subject: kasztany # zasadniczo te 3 sa najwazniejsze K: # Po naglowkach idzie tresc K: Kochana Halinko, # Ominalem tutaj MIME, kodowanie i K: # inne wynalazki, w prostym mailu to K: dziekuje Ci za kasztany. # nie takie potrzebne K: To tyle, papa. # K: Twoj Stefek. # K: . # . i enter oznacza koniec maila S: 250 ok 1096137870 qp 20251 # Serwer mowi, ze zakolejkowal K: quit # Zegnamy sie S: 221 smtp.mail.com # Serwer tez sie pozegnalCala transakcja zostala przeprowadzona przy uzyciu programu telnet, ktorym zalogowalem sie na port, na ktorym nasluchuje serwer SMTP. Jest to domyslnie port 25. Zatem: telnet smtp.mail.com 25