Extras din laborator
Sistemul e-mail permite unui utilizator transmiterea de mesaje electronice (e-mail) altor utilizatori din retea. In vederea transmiterii unui astfel de mesaj, cel care initiaza comunicatia trebuie sa gaseasca o cale de comunicatie catre sistemul apelat. Acest lucru intra in sarcina unui server e-mail sau MTA (Mail Transfer Agent), sistem ce va transfera e-mail-ul de la utilizator (prin intermediul unui client de e-mail) unui alt server e-mail, ce are conexiune directa cu sistemul destinatie.
Serverele de e-mail comunica intre ele folosind protocolul SMTP (Simple Mail Transfer Protocol) pentru trimiterea si receptia mesajelor, Protocolul SMTP transporta mesajele e-mail in format ASCII folosind protocolul TCP. Fiecare utilizator are o cutie postala (mailbox) pe serverul de e-mail, unde ajung mesajele provenite de la ceilalti utilizatori.
Exista o serie de modalitati pentru clientii de e-mail pentru a colecta mesajele unui utilizator: folosind programe ce acceseaza direct serverul de e-mail sau folosind protocoale de retea. Cele mai des utilizate protocoale sunt : POP3 (Post Office Protocol) si IMAP (Internet Message Access Protocol), care folosesc protocolul TCP pentru transportul datelor.
Trebuie ales un server de poştă electronică cu servicii SMTP şi POP3 integrate care să poată fi utilizat la testarea aplicaţiei elaborate. In cazul nostru este Telnet-ul.
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.
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.
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. Sfarşitul mesajului e marcat cu <CR><LF>.<CR><LF>.
Un server SMTP trebuie să cunoască cel putin urmatoarele comenzi :
-HELO - identificare computer expeditor;
-HELO - 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.
Protocolul POP (Post Office Protocol) functioneaza foarte asemanator cu protocolul SMTP În prezent exista doua versiuni de POP: POP2 si POP3. Cu toate ca suntem tentati, la prima vedere, sa credem ca POP3 este o revizuire (îmbunatatire) o protocolului POP2, cele doua protocoale sunt total diferite, folosind chiar porturi de comunicatie diferite. POP2 este mult mai apropiat de SMTP decât POP3, comenzile si structura lor fiind mult mai apropiate de comenzile SMTP.
Protocolul POP3 defineste trei stadii distincte prin care poate trece o sesiune de lucru: autorizare, tranzactie si actualizare. În starea de autorizare clientul trebuie sa se autentifice pe server,specifică numele utilizatorului şi parola. Daca aceasta etapa s-a încheiat cu succes, serverul deschide cutia postala a clientului si sesiunea trece în starea de tranzactie. În aceasta stare, clientul poate cere serverului sa-i ofere anumite date, cum ar fi o lista a mesajelor, sau sa efectueze o anumita actiune de exemplu preluarea mesajelor sau marcarea unora pentru ştergere. Când serverul termina de executat comenzile clientului, sesiunea POP3 intra în starea actualizare si conexiunea se închide.
Prezentam mai jos comenzile POP3 necesare pentru o implementare minimala a acestui protocol pe Internet.
-USER Cere un nume care identifica utilizatorul
-PASS Cere o parola pentru utilizator/server
-QUIT Închide conexiunea TCP
-STAT Serverul returneaza numarul de mesaje din cutia postala si dimensiunea totala a mesajelor
-LIST Returneaza ID-urile si dimensiunile mesajelor, afisate linie cu linie (permite un ID ca parametru, caz în care returneaza dimensiunea mesajului identificat prin ID-ul respectiv)
-RETR Preia un mesaj din cutia postala (Necesita un ID de mesaj ca parametru)
-DELE Marcheaza un mesaj pentru stergere (Necesita un ID de mesaj ca parametru)
-NOOP Serverul returneaza un raspuns pozitiv, dar nu executa nici o actiune
-LAST Serverul returneaza cel mai mare numar de mesaj care a fost accesat
-RSET Deselecteaza toate mesajele marcate pentru stergere
Chiar daca acest protocol defineste mai multe comenzi, contine doar doua posibilitati de raspuns:
-+OK - folosit pentru un raspuns pozitiv
--ERR - folosit pentru un raspuns negativ
Se poate considera ca ambele raspunsuri "au succes", în sensul ca serverul POP3 a receptionat comanda si a returnat un raspuns.
Preview document
Conținut arhivă zip
- Protocoalele Postei Electronice.doc