CALCULATOARELOR SPECIALIZAREA: CALCULATOARE - Anul 5 -
SISTEMUL DE POT ELECTRONIC E-MAIL
ndrumtor: Student: Segal Cristina Presur George Sistemul de pot electronic E-mail Presur George, Februarie 2005 - 1 - Cuprins
Lucrearea este organizat n 3 capitole la care se adaug introducerea i bibliografia.
Pagina Introducere 2 1. Implicaii n domeniul de afaceri i pentru utilizatorii casnici 3 2. Mod de funcionare 4 2.1 Trimiterea mesajelor electronice 5 2.1.1 Comenzi SMTP 6 2.1.2 Coduri SMTP returnate 7 2.1.3 Scenariu de transmitere a unui mesaj 8 2.2 Recepionarea mesajelor electronice 10 2.2.1 Comenzi POP3 11 2.2.2 Scenariu de recepionare a unui mesaj 12 3. Concluzii 14 Bibliografie 15
Sistemul de pot electronic E-mail Presur George, Februarie 2005 - 2 - Introducere
Acest proiect are rolul de a prezenta sistemul de transmitere a potei electronice (ctre care se va face referin pe ntregul parcurs al lucrrii prin termenul e-mail), din punct de vedere al funcionalitii i al avantajelor pe care le aduce fa de sistemul potal clasic. Se vor descrie numai cele mai rspndite protocoalele de comunicaie utilizate de ctre sistemul de pot electronic (SMTP i POP3), i nu se vor descrie standardele de mpachetare i codificare ale mesajelor n format electronic. Termenul e-mail este prescurtarea de la electronic mail care n limba englez are semnificaia de scrisoare electronic, iar sistemul n sine (care se ocup cu transmiterea, preluarea i interpretarea coninutului mesajelor electronice) se numete sistem de pot electronic. Sistemul de pot electronic E-mail Presur George, Februarie 2005 - 3 - 1. Implicaii n domeniul de afaceri i pentru utilizatorii casnici
Sistemul de e-mail este una dintre cele mai importante aplicaii folosite pe sistemele de calcul, ducnd n acelai timp la dezvoltarea i rspndirea la la nivel global a internetului. Printre principalele avantaje ale sistemului de pot electronic, care au dus la rspndirea sa, sunt: - fiabilitatea, garania c mesajele ajung la destinatar; - timpul scurt, de ordinul secundelor sau a minutelor, ntre momentul n care un mesaj este expediat i momentul n care ajunge la destinatar; - securitatea, putndu-se utiliza mecanisme de criptare a coninutului mesajelor; - flexibilitatea, permiand trimiterea ntr-un mesajl electronic (de obicei ca ataament) a oricrui tip de date: multimedia, documente, semnturi electronice, facturi de plat, etc. Pentru firme, acest sistem permite schimbarea de documente n format electronic n timp real, ceea ce duce la creterea productivitii angajailor i permite inerea unei strnse legturi ntre partenerii de afaceri. De asemeni n interiorul unei firme / corporaii de dimeniuni mari acest sistem poate fi principalul mediu de transport al documentelor ntre angajai, substituid astfel sisteme de comunicaie precum fax-ul i telefonul. Din punct de vedere al utilizatorilor casnici, e-mail-ul poate fi privit ca un serviciu de coresponden cu persoanele cunoscute care presupune costuri sczute, disponibilitate i fiabilitate foarte ridicat. Deasemeni, fa de sistemul de pot clasic, mesajele n format electronic ajung cu ntrzieri mici (de ordinul secundelor sau n cel mai defavorabil caz al minutelor) indiferent de destinaia ctre care sunt trimise. Sistemul de pot electronic E-mail Presur George, Februarie 2005 - 4 - 2. Mod de funcionare
n acest capitol vor fi descrise tehnicile de transmitere i recepionare ale e- mail-urilor, folosind att o aplicaie generic de comunicaie ntr-o reea de calculatoare, cat i aplicaii specializate pentru manipularea mesajelor n format electronic. Pentru a garanta fiabilitatea (garania c mesajele trimise ajung la destinaie n cel mai scurt timp posibil) i securitatea sistemului de pot electronic, acesta este structurat n dou module independente: serviciul de transmitere a mesajelor i serviciul de preluare a mesajelor electronice. Pe scurt: funcionarea mesageriei electronice implic urmtorul scenariu: - expeditorul compune mesajul n format electronic (text i eventual ataamente) utiliznd un client de e-mail, l trimite apoi unui calculator intermediar (server) care apoi va analiza adresa destinatarului i va lua decizia de trimitere mai departe a mesajului ctre un alt calculator (server intermediar sau chiar server-ul destinaie); - destinatarul va verifica (periodic) dac a primit noi mesaje, interognd calculatorul server care are rolul de oficiu potal pentru csua sa de e- mail (calculatorul care se ocup cu recepionarea i stocarea mesajelor trimise anumitor clieni, pentru a le furniza acestora n momentul n care acetia se vor conecta la internet). Dup cum se observ din scenariul expus anterior, un mesaj n fomat electronic trebuie s parcurg dou drumuri distincte: cel de la expeditor la un calculator server destinaie (oficiul potal al destinatarului) i cel de la server-ul destinaie ctre calculatorul destinatarului. Prima etap este iniiat de ctre expeditor iar a doua etap de ctre destinatar. Ambele operaii sunt transparente pentru utilizatori. Pentru fiecare dintre aceste dou operaii s-au definit protocoale distincte pentru codificare i trimiterea mesajelor, pe de o parte, i pentru recepia i decodificarea mesajelor pe de alt parte. Sistemul de pot electronic E-mail Presur George, Februarie 2005 - 5 - 2.1 Trimiterea mesajelor electronice
Etapa de transmitere a unui e-mail presupune ca acesta s ajung de pe calculatorul expeditorului pe calculatorul server care are rolul de oficiu potal pentru destinatar (se ocup cu recepionarea, stocarea i gestionarea mesajelor unui grup de utilizatori). Conform standardului de codificare a csuelor potale electronice, orice adres de e-mail este de forma utilizator@server.domeniu, unde: - utilizator este numele utilizatorului, unic pentru fiecare utilizator de pe server-ul respectiv (exemplu: george); - server.domeniu este numele de domeniu cu care poate fi adresat un calculator public pe internet (exemplu: yahoo.com). Protocolul folosit pentru a trimite un mesaj de pe calculatorului unui client ctre un server destinaie (fie cel final, al destinatarului, fie unul intermediar) se numete SMTP (Simple Mail Transfer Protocol). Primul set de specificaii a fost documentat n RFC 821 (Request For Comment), de ctre Jonathan B. Postel, n 1982. Portul TCP standard pentru protocolul SMTP este 25. Sarcina acestui protocol este de a permite transferul mesajelor ntr-un mod eficient, i este un sistem independent care necesit stabilirea unui canal de comunicaie bidimenional ntre cele dou calculatoare care particip la schimbul de mesaje (calculatorul care trimite mesajul i cel care-l preia i eventual l trimite mai departe). Protocolul SMTP definete un limbaj de comunicare ntre procesul care transmite (client) i procesul care primete mesajul electronic (server). Comunicaia ntre procesul client i procesul server se efectueaz n modul urmtor: clientul trimite o comand server-ului, acesta o execut i returneaz clientului un cod numeric. Sistemul de pot electronic E-mail Presur George, Februarie 2005 - 6 - 2.1.1 Comenzi SMTP
Comenzile SMTP const din codul comenzii format din patru litere i urmat opional de un parametru. Acestea sunt case-insensitive (adic pot fi scrise att cu minuscule ct i cu majuscule) si reprezint o combinaie de prescurtri de cuvinte specifice din limba englez. Pentru a se trimite i executa o comand este necesar ca aceasta s fie urmat de secvena de caractere <CR><LF> (care se obine prin apsarea tastei ENTER). Principalele comenzi definite de protocolul SMTP sunt: - HELO <hostname> - reprezint comanda care iniializeaz dialogul dintre procesul client i procesul server; procesul client se va identifica server-ul cu numele calculatorului pe care ruleaz, specificat prin parametrul <hostname>; - MAIL FROM: <expeditor> - informeaz procesului server c urmeaz s primeasc un e-mail de la expeditor (care se identific prin adresa csuei sale potale n parametrul <expeditor>); - RCPT TO: <destinatar> - specific procesului server adresa destinatarului (prin parametrul <destinatar>) cruia i este adresat mesajul e-mail care urmeaz a fi transmis; - DATA specific procesului server c urmeaz s primeasc de la client coninutul unui mesaj electronic (e-mail); - QUIT - nchide canalul de comunicaie dintre client i server. Sistemul de pot electronic E-mail Presur George, Februarie 2005 - 7 - 2.1.2 Coduri SMTP returnate
Pentru fiecare comand trimis de ctre clientul SMTP ctre serverul SMTP, acesta din urm returneaz un cod numeric (nsoit eventual de un mesaj explicativ) care reprezint codul rezultat n urma execuiei operaiei specificate de ctre client. Principalele coduri numerice (i semnificaiile lor) returnate de procesul server sunt urmtoarele: - 220 Service ready, procesul server este disponibil pentru a prelua un mesaj; - 221 Service closing transmission channel, procesul server urmeaz a nchide canalul de comunicaie cu procesul client; - 250 Request mail action okay, completed, specific procesului client c operaia specificat de acesta a fost executat cu succes; - 251 User not local, informeaz procesul client c nu cunoate adrea destinatarului i va redirecta mesajul respectiv ctre un alt calculator server; - 354 Start mail input, specific procesului client c acesta poate incepe transmisia coninutului mesajului (e-mail-ului); - 502 Command not implemented, cod de eroare returnat atunci cnd comanda speificat de ctre procesul client nu este cunoscut / implementat de ctre procesul server. Sistemul de pot electronic E-mail Presur George, Februarie 2005 - 8 - 2.1.3 Scenariu de transmitere a unui mesaj
Pentru a testa comenzile i a verifica codurile returnate pe parcursul unui dialog utiliznd protocolul SMTP ntre un proces client i un proces server am utilizat o aplicaie generic n linie de comand, denumit telnet. Scenariul urmtor presupune: - conectarea la calculatorul serverul; - iniierea dialogului cu procesul server; - identificarea expeditorului; - specificarea destinatarului; - transmiterea coninutului mesajului; - nchiderea conexiunii. Mai jos sunt listate comenzile i mesajele schimbate de procesul client i procesul server.
C:\telnet webmail.home 25 220 webmail.home ESMTP Postfix (Linux-Mandrake) HELO pc_client 250 webmail.home MAIL FROM:<expeditor@webmail.home> 250 Ok RCPT TO:<destinatar@webmail.home> 250 Ok DATA 354 End data with <CR><LF>.<CR><LF> acesta este corpul mesajului scris pe mai multe linii . 250 Ok: queued as ACA845C31F QUIT 221 Bye
Sistemul de pot electronic E-mail Presur George, Februarie 2005 - 9 - Diagrama 2.1.3 Dialogul SMTP pentru transferul unui mesaj de la procesul client ctre procesul server.
C L I E N T
S M T P
S E R V E R
S M T P
iniiere dialog (HELO) comand acceptat (250) identificarea expeditorului (MAIL FROM) comand acceptat (250) specificarea destinatarului (RCPT TO) comand acceptat (250) informare server c urmeaz a se transmite un mesaj (DATA) comand acceptat (354) transmitere corp mesaj comand acceptat (250) cerere nchidere conexiune nchidere conexiune Sistemul de pot electronic E-mail Presur George, Februarie 2005 - 10 - 2.2 Recepionarea mesajelor electronice
Etapa de recepionare a unui e-mail presupune ca utilizatorul cruia i este destinat mesajul s porneasc aplicaia client pentru serviciul de pot electronic i s i specifice acesteia s extrag de pe calculatorul server (care are rolul de oficiu potal) noile mesaje asociate casuei sale potale. Protocolul utilizat pentru extragerea mesajelor unui utilizator de pe un calculator server care i gestioneaz csua potal se numeste POP3 (Post Office Protocol Version 3). Primul set de specificaii pentru acest protocol a fost documentat n RFC 1081, de ctre M. Rose, n 1988. Portul TCP standard pentru protocolul POP3 este 110. Rolul acestui protocol este de a permite utilizatorilor s i aduc mesajele de pe calculatorul server (care are rolul de oficiu potal) pe propriul calculator. Protocolul POP3 definete un limbaj de comunicare ntre procesul care cere informaiile (client) i procesul care execut comenzile i transmite mesajele cerute de ctre client (server). Principalele facilitile oferite de ctre acest protocol sunt: - extrageriea mesajelor de pe calculatorul server; - tergerea mesajelor (care au fost sau nu recepionate) de pe calculatorul server; - posibilitate utilizrii versiunii securizate, POPS3, care cripteaz informaiile transmise ntre procesul client i procesul server, pentru a preveni astfel interceptarea acestora. Comunicaia ntre procesul client i procesul server se efectueaz n modul urmtor: clientul trimite o comand server-ului, acesta o execut i returneaz clientului un cod numeric (n funcie de care se va putea apoi analiza dac respectiva comand a fost executat sau nu corect).
Sistemul de pot electronic E-mail Presur George, Februarie 2005 - 11 - 2.2.1 Comenzi POP3
Comenzile SMTP const din codul comenzii format din patru litere i urmat opional de un parametru. Acestea sunt case-insensitive (adic pot fi scrise att cu minuscule ct i cu majuscule) si reprezint o combinaie de prescurtri de cuvinte specifice din limba englez. Principalele comenzi definite de protocolul POP3 sunt: - USER <utilizator> - specific procesului server numele utilizatorului pentru care s deschid csua potal; - PASS <parola> - trimite procesului server parola contului de utilizator asociat cu contul de utilizator specificat la comanda precedent; - LIST [<numar_mesaj>] cere procesului server s listeze toate mesajele utilizatorului; - RETR <numar_mesaj> - cere procesului server s listeze coninutul mesajului cu numrul de identificare specificat de parametrul <numar_mesaj>; - DELE <numar_mesaj> - terge mesajul cu numrul specificat de parametrul <numar_mesaj>; - QUIT - nchide canalul de comunicaie dintre client i server; - STAT cere procesului server s afieze informaii statistice despre csua potal a utilizatorului curent (i numrul de mesaje din csua potal i dimensiunea total a acestora); - LAST cere procesului server s afieze numrul de identificare al ultimului mesaj venit n csua potal; - TOP <numar_mesaj> <numar_linii> specific procesului server s listeze din mesajul cu numarul de identificare specificat de parametrul <numar_mesaj> primele <numar_linii> de coninut; - RSET reseteaz starea mesajelor din csua potal (refcnd mesajele terse). Sistemul de pot electronic E-mail Presur George, Februarie 2005 - 12 - 2.2.2 Scenariu de recepionare a unui mesaj
Pentru a testa comenzile implementate in protocolul POP3 i a simula un dialog dintre un proces client POP3 i un proces server POP3 am utilizat aplicaia telnet. Scenariul urmtor presupune: - conectarea la calculatorul serverul; - autentificarea clientului POP3; - listarea sumar a mesajelor din csua potal; - listarea coninutului unui mesaj; - tergerea unui mesaj; - nchiderea conexiunii. Mai jos sunt listate comenzile i mesajele schimbate de procesul client i procesul server.
Sistemul de pot electronic E-mail Presur George, Februarie 2005 - 13 - C:\telnet webmail.home 110 +OK POP3 webmail.home v2000.69mdk server ready USER destinatar +OK User name accepted, password please PASS destinatar +OK Mailbox open, 1 messages lLIST +OK Mailbox scan listing follows 1 478 . RETR 1 +OK 478 octets Return-Path: <expeditor@webmail.home> Delivered-To: destinatar@webmail.home Received: from pc_client (george [192.169.0.1]) by webmail.home (Postfix) with SMTP id 27F245C31F for <destinatar@webmail.home>; Thu, 15 Jan 2004 Message-Id: <20040115173850.27F245C31F@webmail.home> Date: Thu, 15 Jan 2004 12:38:50 -0500 (EST) From: expeditor@webmail.home To: undisclosed-recipients:; Status:
acesta este corpul mesajului scris pe mai multe linii . DELE 1 +OK Message deleted QUIT +OK Sayonara Sistemul de pot electronic E-mail Presur George, Februarie 2005 - 14 -
C L I E N T
P O P 3
S E R V E R
P O P 3
autentificare utilizator autentificare reuit comenzi trimise de client raspunsuri de la server cerere nchidere conexiune nchidere conexiune Diagrama 2.2.2 Procesul de comunicare utiliznd protocolul POP3 ntre procesul client i procesul server. Sistemul de pot electronic E-mail Presur George, Februarie 2005 - 15 - 3. Concluzii
Sistemul de pot electronic este n acest moment o aplicaie necesar pentru utilizatorii de calculatoare (i alte dispozitive ce permit accesul la e-mail) iar protocolale implementate pentru manipularea mesajelor electronice ofer utilizatorilor sigurana c acestea ajung la destinaie n timp util. Cele dou protocoale de comunicaie descrise n aceast lucrare, SMTP pentru transmiterea mesajelor de la expeditor ctre calculatorul server (ce are rolul de oficiu potal pentru destinatar) i POP3 pentru preluarea mesajelor utilizatorilor de pe calculatoarele server care le gestioneaz, au n acest moment cea mai rspndit utilizare printre sistemele de calcul i vor fi folosite i n viitor apropiat datorit flexibilitii si fiabilitii oferite. Comenzile prezentate pentru fiecare protocol sunt comenzile de baz care permit testarea funcionalitii unui sistem de pot electronic. Deasemeni sunt i comenzile pe care fiecare client de e-mail le execut n mod transparent pentru utilizator de fiecare dat cnd acesta trimite sau primete un e-mail.
Sistemul de pot electronic E-mail Presur George, Februarie 2005 - 16 - Bibliografie
[1] RFC 821, Simple Mail Transfer Protocol. [2] RFC 1081, Post Office Protocol Version 3.