Hrvatska akademska i istraživačka mreža
  NASLOVNICA MAPA WEBA TRAŽILICA KONTAKTI CARNET WEB
Hrvatska akademska i istraživačka mreža
 
menu 4
Sigurnost
menu 4
Distribucija
menu 4
Pomoć
menu 4
Dokumenti
menu 4
menu 4

 

 

28-06-05 10:08
SMTP protokol

piše ACO DMITROVIĆ


SMTP

Simple Mail Transport Protocol definiran je u RFC 821 davne 1982. godine, a zatim proširivan različitim ekstenzijama. Radi se o protokolu koji definira prijenos poruka između dva hosta, odnosno umrežena računala. SMTP ne ovisi o mrežnom protokolu, te omogućuje prosljeđivanje poruka kroz raznovrsne mreže, koristeći pri tom gateway hosta, računalo koje spaja obje mreže te prevodi poruke iz jednog mrežnog protokola u drugi.

 

SMTP strogo definira sintaksu i redoslijed odvijanja transakcije.

Upoznat ćemo SMTP protokol na primjeru jedne tipične transakcije. Korisnik pero iz domene alfa.hr šalje mail na dvije adrese u domeni beta.hr.

 

SMTP server pošiljatelja

SMTP server primatelja


220 mail.beta.hr SMTP Service Ready

HELO mail.alfa.hr



250 mail.beta.hr

MAIL FROM: <pero@alfa.hr>



250 OK

RCPT TO: <marko@beta.hr>



250 OK

RCPT TO: <marija@beta.hr>



550 No such user here

DATA



354 Start mail input; end with <CRLF>.<CRLF>

Date: 2 Feb 2001  12:33:14
From: Petar Matic <pero@alfa.hr>
Subject: Izlet na Sljeme
To: marko@beta.hr, marija@beta.hr
Bok društvo, jeste li za izlet?
Vidimo se sutra u 8 kod Tunela.
<CRLF>.<CRLF>



250 OK

QUIT



221 mail.beta.hr Service closing transmision channel>

 

SMTP server pronalazi ciljno računalo te otvara dvosmjerni komunikacijski kanal. Polazni server šalje SMTP naredbe, na koje ciljni host odgovara kodovima koji mogu označavati uspjeh ili pogrešku. Svaka naredba pošiljatelja mora dobiti odgovor primatelja - tek se tada može nastaviti sljedeća faza razmjene.

 

Veza se uspostavlja naredbom HELO, a završava naredbom QUIT. Sam proces slanja poruke odvija se u tri faze, koje karakterizira korištenje naredbi MAIL, RCPT i DATA.

 

  1. MAIL
    Parametar označava povratnu adresu, odnosno adresu pošiljatelja. SMTP na odredišnom računalu odgovara kodom 250 OK.
  2. RCPT  
    Odredišni SMTP ovdje može vratiti kod 250 OK, ukoliko je primatelj poznat, ili 550 ako je nepoznat. Kako primatelja može biti više, postupak se može ponavljati (RFC 821 definira 100 adresa kao gornju granicu).

  3. DATA naredba označava da će uslijediti sama poruka. Ciljni SMTP vraća kod 354, potvrđujući da je spreman primiti poruku. Zatim slijedi sama poruka, koja završava retkom koji sadrži samo točku, ".", što je oznaka za kraj poruke.

 

Naredbe SMTP-a definirane u RFC 821 podijeljene su na obavezne (HELO, MAIL, RCPT, DATA, RSET, VRFY, NOOP, QUIT), i opcionalne (SEND, SOML, SAML, EXPN, HELP, TURN).

 

RESET napuštanje transakcije, odbacivanje svih podataka

 

NOOP no-operation, prazna naredba, obnavlja vezu u slučaju čekanja

 

TURN ova naredba zahtijeva da SMTP serveri zamijene uloge

 

SEND zahtijeva slanje poruke izravno na korisnikov terminal

 

SOML (SEND OR MAIL) ako korisnik nije aktivan na terminalu, poruka ide u njegov mailbox

 

SAML (SEND AND MAIL) poruke ide i na terminal i u mailbox

 

Sve su naredbe i odgovori unutar ASCII skupa znakova.

 

SMTP naredbe mogu se pisati velikim ili malim slovima. Tako se naredba MAIL može pisati i Mail ili mail. Isto vrijedi i za Internet domene, CARNet.hr jednako je dobro kao i carnet.hr. No neki sistemi su pri imenima korisnika osjetljivi na velika i mala slova, pa na primjer razlikuju korisnike marko@beta.hr i Marko@beta.hr.

 

Od ostalih naredbi SMTP protokola spomenimo još VRFY, koja traži provjeru postojanja korisnika, te EXPN, koja provjerava je li odredišni mailbox zapravo mailing lista, koja će se u tom slučaju proširiti u listu primatelja. Evo primjera:

 

VRFY marko



250 Marko Pavic <marko@beta.hr>

VRFY gonzo



550 String does not match anything

VRFY bonzi



251 User not local; will forward to <bonzi@delta.hr>

VRFY zoro



551 User not local; please try <zoro@delta.hr>

VRFY pero



553 User ambiguous

 

Ovakav odgovor znači da postoji više istoimenih korisnika, pa je nejasno kome isporučiti e-mail.

 

EXPN izletnici



250-Marko Pavic <marko@beta.hr>
250-Marija Gvozdic <marija@beta.hr>
...

EXPN uprava



550 Access denied to you

 

Proširenja SMTP-a

S vremenom je SMTP dobio mnoga proširenja, kako bi mogao udovoljiti rastućoj složenosti poslova za koje je namijenjen.

 

RFC 1869 definira novu inačicu HELO naredbe, EHLO. Njome klijent zahtijeva od servera izjašnjavanje o tome koje ekstenzije podržava.

 


220 mail.beta.hr SMPT service ready

EHLO mail.alfa.hr



250 mail.beta.hr says hello
250 EXPN
250 HELP
250 8BITMIME
250 XONE
...

 

Ukoliko ne podržava ekstenzije, SMTP će odgovoriti kodovima od 500 (command not recognized: EHLO), do 504, što znači da razumije EHLO, ali nije u stanju koristiti sva proširenja.

 

Veličina e-maila

RFC 1870 definira proširenje vezanu uz deklaraciju veličine e-maila. Korisnici su  s vremenom navikli uz mail slati različite priloge (attachments). Ako je prostor na disku mail servera ograničen, to može izazvati probleme. Stoga pošiljatelj deklarira veličinu maila, a odredišni server odgovara prelazi li ta veličina zadani limit.

 

MIME

RFC 1652 definira proširenja za 8 bitne znakove, kako bi se mogli podržati znakovi izvan američkog 7 bitnog ASCII standarda. Stoga polazišni SMTP server šalje ECHLO naredbu, da bi iz odgovora razabrao podržava li ciljni server 8-bitne znakove.

 


220 beta.hr SMTP service ready

EHLO mail.alfa.hr



250 mail.beta.hr says hello
250 8BITMIME

 

RFC 3030 definira alternativu DATA naredbi, BDAT, koja deklarira veličinu binarnog, multimedijalnog dodatka poruci.

 


220 mail.beta.hr

EHLO mail.alfa.hr



250 mail.beta.hr SMTP service ready
250 CHUNKING

 

Ovakav odgovor implicira da će mail server s druge strane primiti veliki atachment u dijelovima, što povećava efikasnost prijenosa.

Neka od proširenja usmjerena su k postizanju veće efikasnosti servisa, poput mogućnosti da se, nakon prekida veze, ne mora ponoviti cijeli prijenos, već se nastavlja od mjesta prekida. Ili pak mogućnost izbjegavanja načina rada gdje se šalje naredba i čeka odgovor, već se odjednom šalje više SMTP naredbi.

 





[Lista]
Ovu uslugu CARNeta realizira Sveučilišni računski centar Sveučilišta u Zagrebu
  Copyright ©2005. CARNet. Sva prava zadržana. Impressum.
Mail to
sys-portal@CARNet.hr