Część 1: SMTP - Simple Mail Transfer Protocol
Dokumenty RFC:
- RFC-821 SIMPLE MAIL TRANSFER PROTOCOL (1982)
- RFC-1123 Requirements for Internet Hosts -- Application and Support (1989)
- RFC-2821 Simple Mail Transfer Protocol (2001)
- RFC-1893 Enhanced Mail System Status Codes (1996)
Protokół stanowy. Standard wysyłania e-mail'i poprzez internet. Port SMTP to 25.
Protokół składa się z kilkunastu komend:
Command Description References
ATRN Authenticated TURN. RFC 2645
AUTH Authentication. RFC 2554
BDAT Binary data. RFC 3030
DATA Data. RFC 2821
EHLO Extended Hello. RFC 2821
ETRN RFC 1985
EXPN Expand RFC 2821
HELO Hello RFC 2821
HELP Help RFC 2821
MAIL Mail RFC 2821
NOOP No operation RFC 2821
QUIT Quit RFC 2821
RCPT Recipient RFC 2821
RSET Reset RFC 2821
SAML Send and mail RFC 821
SEND Send RFC 821
SOML Send or mail RFC 821
STARTTLS RFC 3207
TURN Turn RFC 821
VRFY Verify RFC 2821
Serwer SMTP odpowiada użytkownikowi jednym z kodów odpowiedzi (3-znakowa liczba) oraz wyjaśnieniem kodu
RFC-1893 zawiera pełną listę kodów 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@domena.com>
250 OK
rcpt to: <odbiorca@domena.com>
250 Accepted
data
354 Enter message, ending with "." on a line by itself
From: nadawca@domena.com
To: odbiorca@domena.com
tresc wiadomosci
.
250 OK id=1Coql6-0003Qi-MP
quit
221 serwer.email.com closing connection
Ćwiczenie testowe: pobrać program freesmtp.zip, rozpakować w windowsie i uruchomić.
Sprawdzić ip i numer portu na którym uruchomiliśmy serwer. Z konsoli linuksowej przeprowadzić podobną sesję smtp wysyłając do siebie list.
Część 2: POP - Post Office Protocol
Poniższy przykład należy wykonać zastępując login i hasło odpowiednimi danymi
podanymi przez prowadzącego ćwiczenia. Jeżeli posiadamy swoje konto na serwerze,
który umożliwia logowanie tą metodą możemy użyć własnego loginu i hasła.
[tomek@ZUERST tomek]$ telnet pop3.poczta.onet.pl 110
Trying 213.180.130.20...
Connected to pop3.poczta.onet.pl (213.180.130.20).
Escape character is '^]'.
+OK POP3 [213.180.130.20] onet 1.20 server ready
user sxxxx
+OK User name accepted, password please
pass qwerty123
+OK Mailbox open, 1 messages, new: 1, your primary account: sxxxx@poczta.onet.pl, message quota: 0 kB
list
+OK Mailbox scan listing follows
1 745
.
retr 1
+OK 745 octets
Received: from dtf104.neoplus.adsl.tpnet.pl ([83.24.243.104]:13702 "EHLO
zuerst") by ps4.test.onet.pl with ESMTP id <S3642721AbWJXXh3>;
Wed, 25 Oct 2006 01:37:29 +0200
From: "=?iso-8859-2?q?in=BF=2E_Tomasz?= Kaszuba"
<tomasz_kaszuba@poczta.onet.pl>
Reply-To: tomasz_kaszuba@poczta.onet.pl
To: sxxxx@poczta.onet.pl
Subject: TEST
Date: Wed, 25 Oct 2006 01:45:43 +0200
User-Agent: KMail/1.7
MIME-Version: 1.0
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <200610250145.43388.tomasz_kaszuba@poczta.onet.pl>
X-OnetAntySpam: NIE, to nie jest SPAM
X-OrigFrom: tomasz_kaszuba@poczta.onet.pl
X-ZA0: unknown (-1,0)
Status: RO
MEJL TESTOWY
CHYBA DZIALA
:)
.
quit
+OK Sayonara
Connection closed by foreign host.
Spis poleceń protokołu POP3
Polecenie |
Opis |
HELP |
Wywietla spis dostępnych poleceń |
USER username |
Przedstawia użytkownika serwerowi. To polecenie powinno być pierwszym poleceniem w czasie sesji z serwerem POP3 |
PASS password |
Przesyła hasło użytkownika. Bez wydania tego polecenia nie mamy dostępu do swojej skrzynki pocztowej |
STAT |
Wyświetla statystykę skrzynki : ilość wiadomości oraz ilość bajtów jaki one zajmują
(często załączniki liczone są jako oddzielne wiadomoci, mimo, że nie można ich odebrać w tradycyjny sposób - przez RETR)
|
LIST |
Wyświetla spis listę oraz wielkość każdego z nich
|
TOP nr |
Wyświetla nagłówek wiadomości o podanym numerze
|
RETR nr |
Wyświetla wiadomość o podanym numerze
|
DELE nr |
Usuwa wiadomość o podanym numerze ze skrzynki odbiorczej
|
RSET |
Odwołuje wszystkie zmiany jakie zaszły w zawartości skrzynki od czasu zalogowania
|
QUIT |
Kończy poczenie z serwerem POP3
|
|