Jump to content
virusz

Simple Mail Transfer Protocol

Recommended Posts

SMTP (Simple Mail Transfer Protocol) este un protocol simplu, folosit pentru transmiterea mesajelor în format electronic pe Internet. SMTP foloseºte portul de aplicaþie 25 TCP ºi determinã adresa unui server SMTP pe baza înregistrãrii MX (Mail eXchange) din configuraþia serverului DNS.

Protocolul SMTP specificã modul în care mesajele de poºtã electronicã sunt transferate între procese SMTP aflate pe sisteme diferite. Procesul SMTP care are de transmis un mesaj este numit client SMTP iar procesul SMTP care primeºte mesajul este serverul SMTP. Protocolul nu se referã la modul în care mesajul ce trebuie transmis este trecut de la utilizator cãtre clientul SMTP, sau cum mesajul recepþionat de serverul SMTP este livrat utilizatorului destinatar ºi nici cum este memorat mesajul sau de câte ori clientul SMTP încearcã sã transmitã mesajul.

Cuprins

* 1 Istoric

* 2 Funcþionare

o 2.1 Realizarea comunicaþiei SMTP - exemplu

* 3 Vezi ºi

o 3.1 Legãturi cr.yp.to

o 3.2 Alte legãturi

Istoric

SMTP a inceput sa fie folosit mai des la inceputul anilor ‘80. La acea vreme era mai putin folosit decat UUCP (Unix to Unix CoPy), care era mai potrivit pentru transmiterea emailurilor intre maºini ce nu erau conectate permanent. SMTP însa functioneazã mai bine când atât expeditorul cât ºi destinatarul mesajului sunt legaþi in reþea tot timpul. Sendmail a fost unul din primele programe care au implemetat acest protocol. Din 2001 au aparut încã cel puþin 50 de programe care implementeaza SMTP( atat servere cat si clienti). Printre cele mai cunoscute servere SMTP amintim Postfix, qmail, Novell GroupWise,Exim, Novell NetMail si Microsoft Exchange Server.

Funcþionare

Comunicarea intre client ºi server se realizeaza prin texte ASCII. Iniþial clientul stabileºte conexiunea cãtre server ºi aºteaptã ca serverul sã-i rãspundã cu mesajul “220 Service Ready” . Dacã serverul e supraîncãrcat, poate sã întarzie cu trimirea acestui raspuns. Dupa primirea mesajului cu codul 220 , clientul trimite comanda HELO prin care isi va indica identitatea. In unele sisteme mai vechi se trimite comanda EHLO, comanda EHLO indicand faptul cã expeditorul mesajului poate sa proceseze extensiile serviciului ºi doreºte sã primeascã o listã cu extensiile pe care le suportã serverul. Dacã clientul trimite EHLO iar serverul îi rãspunde ca aceasta comandã nu e recunoscutã, clientul va avea posibilitatea sã revinã ºsi sã trimitã HELO.

Odatã ce comunicarea a fost stabilitã, clientul poate trimite unul sau mai multe mesaje, poate incheia conexiunea sau poate folosi unele servicii precum verificarea adreselor de email. Serverul trebuie sã raspundã dupã fiecare comandã indicand astfel dacã aceasta a fost acceptatã, dacã se mai asteaptã comenzi sau dacã existã erori în scrierea acestor comenzi.

Pentru a trimite un mesaj se foloseste comanda MAIL prin care se specifica adresa clientului. Dacã aceasta comanda este corecta serverul va raspunde cu mesajul “250 OK”. Clientul trimite apoi o serie de comenzi RCPT prin care specificã destinatarii mesajului. Serverul va raspunde cu “550 No such user here”, sau “250 OK”, in functie de corectitudinea comenzii primite. Dupã ce se specificã destinatarii, ºi serverul acceptã comenzile, se trimite comanda DATA, prin care serverul e anunþat cã expeditorul va incepe sa scrie conþinutul mesajului. Serverul poate rãspunde cu mesajul "503 Command out of sequence" sau "554 No valid recipients" dacã nu a primit comenzile MAIL sau RCPT sau aceste comenzi nu au fost acceptate. Dacã serverul va raspunde cu mesajul “354 Start mail input”, clientul va putea introduce textul mesajului. Sfarºitul mesajului e marcat cu <CR><LF>.<CR><LF>.

Un server SMTP trebuie sã cunoascã cel putin urmatoarele comenzi :

* HELO - identificare computer expeditor;

* EHLO - identificare computer expeditor cu cerere de mod extins;

* MAIL FROM - specificare expeditorului;

* RCPT TO - specificarea destinatarului ;

* DATA - conþinutul mesajului;

* RSET – Reset;

* QUIT - terminã sesiunea;

* HELP - ajutor pentru comenzi;

* VRFY - verifica o adresa;

* EXPN - expandeazã o adresa;

* VERB - informatii detaliate.

Realizarea comunicaþiei SMTP - exemplu

Funcþionarea protocolului SMTP poate fi testatã simplu prin iniþierea unei conexiuni TCP folosind un client de telnet.

telnet mailhost.domeniu.ro 25

Server: 220 mailhost.domeniu.ro ESMTP

Client: HELO host.domeniu.ro

Server: 250 Hello host.domeniu.ro

Client: MAIL FROM: user@domeniu.ro

Server: 250 Ok

Client: RCPT TO: user@altdomeniu.ro

Server: 250 Ok

Client: DATA

Server: 354 End data with <CR><LF>.<CR><LF>

Client: Subject: test

Client: un mesaj test

Client: .

Server: Mail queued for delivery.

Client: QUIT

Server: 221 Closing connection. Bye.

original link: http://ro.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...