SMTP

Ikona ucSredstva Simple Mail Transfer Protocol

SMTP je nabor standardov uporabljenih za sporočilne aplikacije. Je de facto standard za vsa
prenešena sporočila preko interneta. Pregledali si bomo nekaj osnovnih konceptov SMTP.
SMTP deluje na aplikacijskem nivoju, ampak samo na TCP/IP modelu. Za delovanje (poizvedbo o
domeni) si „pomaga“ z uporabo DNS strežnika, kateri vodi naslov strežnika, kamor potujejo
elektronska sporočila.


SMTP strežniki delujejo na vratih (port) 25 in to le na TCP prenosnem sistemu. Če hočemo, da
pošljemo sporočilo iz računalnika pc01.tsc.si na spletni stražnik www.tsc.si potrebujemo na
odjemalčevi strani aplikacijo (npr. MS Outlook, Mozilla Thunderbird,...), ki podpira standard
SMTP, na strežnikovi strani pa potrebujemo aplikacijo, ki je sposobna sprejemati SMTP sporočila
(npr. MS Exchange, sendmail, postix,...).


Procedure in standardi za SMTP pošto so deinirani v RFC. Ko se enkrat RFC potrdi, ga ni možno
več spreminjati (dodatki, brisanje,...). V primeru sprememb, se le te najprej preuči in nato se izdela
novi RFC, ki je lahko samo kot dopolnitev ali zamenjava prejšnjega. Več informacij glede RFC
dokumentov najdemo na spletni strani IETF (Internet Engineering Task Force –
http://www.ietf.org).


RFC 821 nam definira SMTP in prikaže, kako dve SMTP implementaciji komunicirajo med seboj
za izmenjavo sporočil. SMTP implementacija je bilokateri SMTP produkt (Exchange, sendmail,...).
RFC 821 torej specificira ukaze kako en SMTP sistem pošilja na drugi SMTP sistem elektronsko
sporočilo.


RFC822 nam definira strukturo SMTP sporočila. SMTP sporočilo je definiramo kot serija
raznoraznih glav (headers) in telesa sporočila, ki je zgrajeno samo iz ASCII znakov. Priponke niso
vključene v tem standardu.


RFC 1225 nam definira POP (Post Office Protocol) verzije 3. SMTP definira, kako računalniki med
seboj pošiljajo sporočila, POP3 definira, kako uporabnik bere svojo pošto.
RFC 1049, 1154 in 1505 nadgrajujejo RFC821, z možnostjo dodajanja binarnih podatkov v
sporočila.


RFC 1521 in 1522 definira možnost uporabe MIME (Multipurpose Internet Mail Exchange), ki nam
omogoča še več možnosti vključevanja binarnih podatkov v sporočilo, kot tudi definira sporočilo,
kot večdelno (ne samo iz glave in telesa).


RFC 822
Definira nam osnovni format za formatiranje glave sporočila in telesa v vseh SMTP sporočilih.
Primer sporočila:
TO: Andrej Bagon <andrej.bagon@guest.arnes.si>
FROM: Administrator <info@tscng.net>
DATE: Sun 11 Dec 2005 12:11:11 +0100
SUBJECT: Test SMTP sporočila
Zdravo!
Sporočilo ima štiri polja v glavi: TO, FROM, DATE in SUBJECT. Ta polja se automatsko
generirajo v odjemalcu, v katerem izdelamo sporočilo. Nadaljuje se z telesom sporočila.
Vsako sporočilo mora imeti tri polja v glavi. To so DATE, FROM in TO ali BCC polje. Sporočilo,
ki smo ga izdelali torej je izdelano po standardu RFC 822. Seveda lahko dodamo tudi druga polja,
kot so CC ali pa COMMENT.
Ko sporočilo prispe na pošiljateljev strežnik (računalnik mail.tscng.net), poštni stražnik doda še
nekaj dodatnih polj v glavo:


TO: Andrej Bagon <andrej.bagon@guest.arnes.si>
FROM: Administrator <info@tscng.net>
DATE: Sun 11 Dec 2005 12:11:11 +0100
SUBJECT: Test SMTP sporočila
X-Info: Evaluation version at mail.tscng.net
Message-Id: <18143885500034@tscng.net>
Zdravo!


X-Info in Message-Id polji se dodata na SMTP strežniku, da se vidi, po kateri poti je potovalo
sporočilo. X-Info je informacijski tekst, katerega se vnese v konfiguraciji SNMP strežnika,
Message-ID pa se doda za namene identifikacije.


Vnos Andrej Bagon je v polju TO opcijsko in samo podaja ime sprejemnika, za strežnike je
pomemben podatek andrej.bagon@tscng.net, ampak še ta ne v celoti. Za pošiljanje sporočila po
omrežju je potreben samo podatek, kam naj sporočilo potuje (torej tscng.net). Kje se ta poštni
strežnik nahaja je zapisano v DNSju pod MX zapisom. Domensko ime guest.arnes.si je sestavljeno
iz več poddomen. „guest“ je poddomena „arnes.si“ in ta je poddomena „si“ domene. SMTP
strežniki na ta način najdejo, kje se končni računalnik nahaja.


Sporočilo kot samo, mora biti sestavljeno iz ASCII znakov. Barve, tipografija, velikosti pisave ni
predvidena v RFC 822.


RFC 821 – SMTP UKAZI
RFC 821 nam definira, kako SMTP strežniki pošiljajo pošto med njimi.Kot že prej omenjeno,
SMTP deluje na aplikacijskem nivoju in samo na TCP/IP modelu. Ko hočemo, da se sporočilo
pošlje je potrebno se povezati z TCP povezavo na vrata 25 računalnika, na kateremu hočemo pustiti
sporočilo. Torej, ko Administrator iz www.tscng.net računalnika hoče pustiti sporočilo Andreju na
guest.arnes.si, se Administraotr najprej z svojim odjemalcem poveže na njegov SMTP strežnik in
odda sporočilo, nato www.tscng.net računalnik se poveže z mail.arnes.si strežnikom in tam se
ustvari sporočilo, ki čaka na sprejem.


Ukazi, katere izvaja administratorjev odjemalec in nato SMTP strežnik so definirani v RFC-ju.
Nekaj takih ukazov je: HELO, MAIL FROM, RCPT TO, VRFY, DATA, QUIT.
Kako poteka dejanska komunikacija. Poštni odjemalec administratorja se poveže na SMTP strežnik
(TCP povezava na vrata 25) in izvede naslednje ukaze (primer):
andrejb@andrej-mobile:~$ telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
220 andrej-mobile.minigrafija.si ESMTP Exim 3.36 #1 Sun, 11 Dec 2005 17:29:04 +0100
HELO andrej-mobile.minigrafija.si
250 andrej-mobile.minigrafija.si Hello localhost [127.0.0.1]
MAIL FROM: andrej.ni@minigrafija.si
250 <andrej.ni@minigrafija.si> is syntactically correct
RCPT TO: andrejb@andrej-mobile.minigrafija.si
250 <andrejb@andrej-mobile.minigrafija.si> verified
DATA
354 Enter message, ending with "." on a line by itself
TO: andrejb@andrej-mobile.minigrafija.si
FROM: andrej.ni@minigrafija.si
DATE: Sun Dec 11 17:31:22 CET 2005
SUBJECT: Test posiljanja maila
Test kako gre email skoz!
.
250 OK id=1ElU5Y-00016b-00
QUIT
221 andrej-mobile.minigrafija.si closing connection
Connection closed by foreign host.
andrejb@andrej-mobile:~$


Sprejem elektronske pošte
Elektronska pošta se hrani na poštnem strežniku, proceduro, kako sporočilo pošljemo smo si
pogledali. Prejeto sporočilo pa je potrebno najprej prenesti na lokalni računalnik in šele nato ga
lahko pregledamo. Poznamo dva načina prenosa elektronskih sporočil iz strežnika na lokalni
računalnik, to je POP3 in IMAP način. Pri obeh načinih se je potrebno na strežniku prijaviti z
uporabniškim imenom in geslom (žal uporabniško ime in geslo nista prekrita). Zaradi varnosti se
pojavljata tudi izboljšani različici POP3s in IMAPs (secure), ki prenašata podatke v prekriti obliki.
POP3 – Post Office Protocol version 3 (uporablja vrata 110)
IMAP – Internet Message Access Protocol (uporablja vrata 143)
Uporabljamo ga v primerih, ko dostopamo do elektronske pošte, ki je shranjena na poštnem
strežniku. V tem primeru imamo vsa sporočila hranjena na strežniku, po potrebi si pa sporočilo
prenesemo na lokalni računalnik (preberemo sporočilo). IMAP način dostopa do elektronske pošte
uporablja večina spletnih odjemalcev (hotmail, yahoo, gmail,...). Pri tem načinu je potrebno imeti
vzpostavljeno povezavo celoten čas, dokler poštnega odjemalca ne zapremo.