Sunteți pe pagina 1din 8

MINISTERUL EDUCAŢIEI, CULTURII și CERCETĂRII al REPUBLICII MOLDOVA

UNIVERSITATEA TEHNICĂ a MOLDOVEI


FACULTATEA CALCULATOARE, INFORMATICĂ și MICROELECTRONICĂ
DEPARTAMENTUL INGINERIA SOFTWARE și AUTOMATICĂ

RAPORT la lucrarea de laborator Nr. 2


Disciplina: Programarea in retea
TEMA: SMTP | POP3 | IMAP

Elaborat: st. gr. TI-171 Iepuras Daniel


Verficat: conf. univ. Buldumac Oleg

Chișinău – 2020

Sarcina lucrarii
Să se creeze un program client de poștă electronică(MUA – Mail User Agent) apt să
trimită și să citească mesajele prin intermediul unui cont de poștă electronică.

Mersul lucrarii

Trimiterea mesajului
Pentru a trimite mesaje am folosit protocolul SMTP care permite aplicatiilor sa
transmita emailuri prin internet.
Pentru aceasta in primul rand avem nevoie de a mentiona adresa serverului SMTP si
sa obtinem proprietatile sistemului

Properties properties = new Properties();

properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.starttls.enable", "true");
properties.put("mail.smtp.host", "smtp.gmail.com");
properties.put("mail.smtp.port", "587");

Apoi este necesar de a instantia o sesiune de conectare la server


session = Session.getInstance(properties, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(myEmail, password);
}
});

iar in cele din urma apelam metoda care pregeteste mesajul

public Message prepareMessage() {

try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(myEmail));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipient));
message.setSubject(subject);
message.setText(textBody);
return message;
}
catch (Exception e) {
Logger.getLogger(Gmail.class.getName()).log(Level.SEVERE, null, e);
}

return null;
}
si respectiv intr-un alt thread prin intermediul clasei Transport trimitem mesajul catre
destinatie.
final Message message = prepareMessage();
Thread sendMessage = new Thread(new Runnable() {
@Override
public void run() {
try {
Transport.send(message);
} catch (MessagingException e) {
e.printStackTrace();
}
}
});
sendMessage.start();
System.out.println("Message sent successfully");

Primirea mesajelor

Pentru a primi mesaje am folosit protocolul IMAP care permite accesul la mesaje din
foldere de e-mail de pe un server. 
Am creat un model pentru mesajele care trebuie primate
public class MessageModel implements Serializable {

private String Subject;


private String From;
private String Message;

public String getSubject() {


return Subject;
}

public void setSubject(String subject) {


Subject = subject;
}

public String getFrom() {


return From;
}

public void setFrom(String from) {


From = from;
}

public String getMessage() {


return Message;
}

public void setMessage(String message) {


Message = message;
}

Apoi am creat metoda ReciveMessages care in cele din urma ne va returna lista
noastra cu mesaje.
In aceasta metoda am declarant adresa serverului si provider-ul
String host = "imap.gmail.com";
String provider = "imaps";

cu ajutorul carora m-am conectat la server .


Session session = Session.getDefaultInstance(properties, null);
Store store = session.getStore(provider);
store.connect(host, email, password);

Pentru a gasi mesajele am folosit metoda getFolder a clasei Folder

Folder inbox = store.getFolder("INBOX");


inbox.open(Folder.READ_ONLY);

Dupa care am obtinut o listă de mesaje javamail ca un array de mesaje si prin


intermediul unui for am extras si am setat in modelul creat mai sus adresa de mail a
expediatorului , mesajul si subiectul;
Message[] messages = inbox.getMessages();

messageModels = new ArrayList<>();

for (int i = 0, n = messages.length; i < n; i++) {


Message message = messages[i];
messageModel = new MessageModel();
messageModel.setFrom(message.getFrom()[0].toString());
messageModel.setMessage(message.getContent().toString());
messageModel.setSubject(message.getSubject());

messageModels.add(messageModel);

Pentru trimiterea si primirea mesajlor am creat cate o clasa care extinde superclasa
AsyncTask pentru a rula toate procesele in background ruland un progress bar.
Codul sursa prezentat in Anexa A.

Întrebări la apărarea laboratorului:

Scopul protocolului SMTP


Scopul protocolul SMTP este de a permite aplicatiilor sa transmita emailuri in
Internet.

Cum se poate verifica dacă serverul SMTP funcționează utilizînd linia de


comandă?
Trebuie sa accesam Panoul de control > Programe > Activare sau dezactivarea
functiilor Windows. Apoi, facem check la “Telnet Client” si salvam modificarile. In
cele din urma deschidem cmd si introducem telnet smtp.servername.com 25;
 Care sunt comenzile SMTP ?

 HELO - identificare computer expeditor;


 EHLO - identificare computer expeditor cu cerere de mod extins;
 MAIL FROM - specificarea 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.

Pentru ce este nevoie de MUA, MSA, MTA și


MDA ?

MUA (Mail User Agent)


Aplicație client care permite primirea și trimiterea de e-mailuri. Poate fi o aplicație
desktop cum ar fi Microsoft Outlook / Thunderbird / ... sau bazată pe web, cum ar fi
Gmail / Hotmail.

MSA (Mail Submission Agent)


Un program de server care primește mail de la un MUA, verifică eventualele erori și
îl transferă (cu SMTP) către MTA găzduit pe același server.

MTA (Mail Transfer Agent)


O aplicație server care primește mail de la MSA sau de la un alt MTA. Acesta va găsi
(prin servere de nume și DNS) înregistrarea MX din zona DNS a domeniului
destinatar pentru a ști cum să transferați poșta. Se transferă apoi poșta (cu SMTP)
către un alt MTA (cunoscut sub numele de retransmisie SMTP) sau, dacă a fost atins
serverul destinatarului, către MDA.

MDA (Mail Delivery Agent)


Un program de server care primește mail de la MTA-ul serverului și îl stochează în
căsuța poștală. MDA este, de asemenea, cunoscut sub numele de LDA (Local
Delivery Agent).

Care este diferența dintre porturile 25, 465 și 587 ?


Porturile 465 și 587 sunt destinate clientului de e-mail pentru comunicarea pe serverul
de e-mail - trimiterea de e-mailuri utilizând protocolul SMTP.

Portul 465 este pentru SMTP


Criptarea SSL este pornită automat înainte de orice comunicare la nivel SMTP.

Portul 587 este destinat msa


Este aproape ca un port SMTP standard. MSA ar trebui să accepte e-mailul după
autentificare (de exemplu, după SMTP AUTH). Acesta ajută la oprirea spamului ieșit
atunci când administratorii de rețele DUL pot bloca conexiunile de ieșire la portul
SMTP (portul 25).

Care este diferența dintre porturile 110 și


995 ? 
Portul 995 este securizat POP3 (SSL – POP) iar 110 este pentru POP3 nesecurizat;

Care este diferența dintre porturile 143 și


993 ? 
993 este pentru IMAP4 prin SSL (IMAPS)

Cum funcționează protocolul


SMTP ? 

 Comunicarea între client / transmiţător şi server / receptor se realizează 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ă
întârzie cu trimiterea unui răspuns.
 După primirea mesajului cu codul 220 , clientul trimite comanda HELO prin care
îşi indică identitatea.
 Odată ce comunicarea a fost stabilită, clientul poate trimite unul sau mai multe
mesaje (prin comanda MAIL), poate încheia conexiunea sau poate folosi unele
servicii precum verificarea adreselor de e-mail.
 Serverul trebuie să răspundă după fiecare comandă indicând  dacă aceasta a fost
acceptată, dacă se mai aşteaptă comenzi sau dacă există erori în scrierea acestor
comenzi.
 Atunci când un mesaj este trimis către mai mulţi destinatari, protocolul SMTP
urmăreşte trimiterea datelor din mesaj o singură dată pentru toţi destinatarii care
aparţin aceluiaşi sistem destinaţie.

Scopul protocoalelor POP3 și IMAP


POP3 este, alături de IMAP, unul din protocoalele utilizate de un calculator gazdă
pentru recepționarea poștei electronice (e-mail).

Diferența dintre POP3 și IMAP


Prima diferenta este ca cu IMAP mesajele primite si transmise sunt salvate pe server
si pot fi restaurate si vazute oricand iar cu POP3 mesajele primite vor putea fi vazute
doar partial de pe statia de lucru de pe care s-a efectuat operatia, iar cele trimise
deloc.In cazul distrugerii respectivei statii, mesajele sunt pierdute definitiv.
A doua deiferenta este ca IMAP este semnificativ mai rapid deoarece , mesajele vor fi
pastrate pe server.

A treia diferenta este ca IMAP nu ridica probleme la folosirea filtrelor iar cu POP3
mesajele mutate in alte foldere nu vor putea fi vizualizate.

Diferența dintre SSL și TLS


SSL este protocolul standard de securitate pentru stabilirea unei legături criptate
între un server web și un browser. TLS este un protocol care asigură securitatea
comunicării între aplicațiile client / server care comunică între ele prin intermediul
internetului.

Concluzie

Sistemul de poştă electronică este în acest moment o aplicaţie necesară pentru


utilizatorii de calculatoare (şi alte dispozitive ce permit accesul la e-mail) iar
protocolale implementate pentru manipularea mesajelor electronice oferă utilizatorilor
siguranţa că acestea ajung la destinaţie în timp util. Cele două protocoale de
comunicaţie descrise în această lucrare, SMTP – pentru transmiterea mesajelor de la
expeditor către calculatorul server (ce are rolul de oficiu poştal pentru destinatar) şi
IMAP – pentru preluarea mesajelor utilizatorilor de pe calculatoarele server care le
gestionează, au în acest moment cea mai răspândită utilizare printre sistemele de
calcul şi vor fi folosite şi în viitor apropiat datorită flexibilităţii si fiabilităţii oferite.
Comenzile prezentate pentru fiecare protocol sunt comenzile de bază care permit
testarea funcţionalităţii unui sistem de poştă electronic. De asemenea sunt şi
comenzile pe care fiecare client de e-mail le execută în mod transparent pentru
utilizator de fiecare dată când acesta trimite sau primeşte un e-mail.
Anexa A

https://github.com/danieliepp/SendAndReciveMail

Rezultatul final

Без
имени_1440p.mp4

S-ar putea să vă placă și

  • Programarea in Retea Lab 4 Iepuras Daniel TI-171
    Programarea in Retea Lab 4 Iepuras Daniel TI-171
    Document8 pagini
    Programarea in Retea Lab 4 Iepuras Daniel TI-171
    DanuIepuras
    Încă nu există evaluări
  • Lab4 PR Adasanu Gicu
    Lab4 PR Adasanu Gicu
    Document9 pagini
    Lab4 PR Adasanu Gicu
    Георгий 98
    Încă nu există evaluări
  • PAD Laborator 1
    PAD Laborator 1
    Document15 pagini
    PAD Laborator 1
    Victor Negruta
    100% (1)
  • Lab3 PR
    Lab3 PR
    Document22 pagini
    Lab3 PR
    Constantin
    Încă nu există evaluări
  • Laborator1 TMPS
    Laborator1 TMPS
    Document4 pagini
    Laborator1 TMPS
    Ion Cornea
    Încă nu există evaluări
  • Amoo 2
    Amoo 2
    Document8 pagini
    Amoo 2
    AlionaCrigan
    Încă nu există evaluări
  • Lab6 AMOO - Diagrame de Stari Si Activitati
    Lab6 AMOO - Diagrame de Stari Si Activitati
    Document10 pagini
    Lab6 AMOO - Diagrame de Stari Si Activitati
    Dan
    Încă nu există evaluări
  • Laboratorul 1
    Laboratorul 1
    Document4 pagini
    Laboratorul 1
    ion
    Încă nu există evaluări
  • Laboratorul 1 Tap
    Laboratorul 1 Tap
    Document4 pagini
    Laboratorul 1 Tap
    catalina bucur
    Încă nu există evaluări
  • Lab2 TMPS
    Lab2 TMPS
    Document4 pagini
    Lab2 TMPS
    Ion Cornea
    Încă nu există evaluări
  • SOMIPP
     SOMIPP
    Document6 pagini
    SOMIPP
    Damean Alexandra
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document4 pagini
    Lab 3
    Rosca Doinita
    Încă nu există evaluări
  • TAP Lab2
    TAP Lab2
    Document4 pagini
    TAP Lab2
    Adrian Bodorin
    Încă nu există evaluări
  • SOMIPP Lab5
    SOMIPP Lab5
    Document4 pagini
    SOMIPP Lab5
    X3 KTO
    Încă nu există evaluări
  • Raport 2
    Raport 2
    Document9 pagini
    Raport 2
    sergiu
    Încă nu există evaluări
  • AMOO Lab3
    AMOO Lab3
    Document6 pagini
    AMOO Lab3
    sergiu
    Încă nu există evaluări
  • Lab5 RC
    Lab5 RC
    Document3 pagini
    Lab5 RC
    Жан Ганган
    Încă nu există evaluări
  • Laborator 1 POO PDF
    Laborator 1 POO PDF
    Document6 pagini
    Laborator 1 POO PDF
    kanamechan27
    Încă nu există evaluări
  • Lab 4 TMPS BridgePattern
    Lab 4 TMPS BridgePattern
    Document4 pagini
    Lab 4 TMPS BridgePattern
    Guzun Ion
    Încă nu există evaluări
  • Raport Cucu Eugen Lab.6
    Raport Cucu Eugen Lab.6
    Document9 pagini
    Raport Cucu Eugen Lab.6
    Cucu Eugen
    Încă nu există evaluări
  • Iepuras Daniel LAB 3 TS
    Iepuras Daniel LAB 3 TS
    Document8 pagini
    Iepuras Daniel LAB 3 TS
    DanuIepuras
    Încă nu există evaluări
  • AI-191 Medinschi Ion SO4
    AI-191 Medinschi Ion SO4
    Document5 pagini
    AI-191 Medinschi Ion SO4
    Carolin
    Încă nu există evaluări
  • Lab 2
    Lab 2
    Document4 pagini
    Lab 2
    Valeria Ţînţaru
    Încă nu există evaluări
  • Lab 7 Somipp
    Lab 7 Somipp
    Document5 pagini
    Lab 7 Somipp
    Augusta Bucataru
    Încă nu există evaluări
  • Lab 1 ASO
    Lab 1 ASO
    Document6 pagini
    Lab 1 ASO
    Cristian
    100% (1)
  • PCAD
    PCAD
    Document4 pagini
    PCAD
    Fiodor Ciumac
    Încă nu există evaluări
  • Lab 6
    Lab 6
    Document4 pagini
    Lab 6
    Егор Казаков
    Încă nu există evaluări
  • Proiect de Curs BD Exemplu-Unlocked
    Proiect de Curs BD Exemplu-Unlocked
    Document60 pagini
    Proiect de Curs BD Exemplu-Unlocked
    Amarfii Sergiu
    Încă nu există evaluări
  • Teoria Sistemelor Nr2
    Teoria Sistemelor Nr2
    Document10 pagini
    Teoria Sistemelor Nr2
    liveplayer
    Încă nu există evaluări
  • Lab.6 FC
    Lab.6 FC
    Document3 pagini
    Lab.6 FC
    Cristina Florea
    Încă nu există evaluări
  • Lab 4
    Lab 4
    Document12 pagini
    Lab 4
    Fil Gorea
    Încă nu există evaluări
  • Lab7 AMOO
    Lab7 AMOO
    Document11 pagini
    Lab7 AMOO
    Сергей Борта
    Încă nu există evaluări
  • Lab 1 SDA Var 10
    Lab 1 SDA Var 10
    Document6 pagini
    Lab 1 SDA Var 10
    Vladimir Zgardan
    Încă nu există evaluări
  • Examen TIDPP
    Examen TIDPP
    Document3 pagini
    Examen TIDPP
    Rosca Doinita
    Încă nu există evaluări
  • TAP Lab5 Popov Biatrice CR 191
    TAP Lab5 Popov Biatrice CR 191
    Document6 pagini
    TAP Lab5 Popov Biatrice CR 191
    Alina Axenti
    Încă nu există evaluări
  • Lucrarea de Laborator Nr.7 ASR
    Lucrarea de Laborator Nr.7 ASR
    Document5 pagini
    Lucrarea de Laborator Nr.7 ASR
    Dutca Alexandru
    Încă nu există evaluări
  • MMC Lab3 Rap
    MMC Lab3 Rap
    Document4 pagini
    MMC Lab3 Rap
    I LOVE ME
    Încă nu există evaluări
  • Lab. 3
    Lab. 3
    Document5 pagini
    Lab. 3
    Cristina Florea
    Încă nu există evaluări
  • Examen PW
    Examen PW
    Document71 pagini
    Examen PW
    DorinRotaru
    Încă nu există evaluări
  • CR-191 MIPI Axenti Alina Lab4
    CR-191 MIPI Axenti Alina Lab4
    Document6 pagini
    CR-191 MIPI Axenti Alina Lab4
    Alina Axenti
    Încă nu există evaluări
  • TW Lab4
    TW Lab4
    Document8 pagini
    TW Lab4
    Dan
    Încă nu există evaluări
  • Somipp Linux 3 UTM
    Somipp Linux 3 UTM
    Document7 pagini
    Somipp Linux 3 UTM
    Cristi Poselețchi
    Încă nu există evaluări
  • Lab 1 PAD Braga Eugen
    Lab 1 PAD Braga Eugen
    Document7 pagini
    Lab 1 PAD Braga Eugen
    Alexandru Kirika
    Încă nu există evaluări
  • Lab2 (TS)
    Lab2 (TS)
    Document7 pagini
    Lab2 (TS)
    Zeul Hriscei
    Încă nu există evaluări
  • TW Lab 5
    TW Lab 5
    Document4 pagini
    TW Lab 5
    danielploaia
    Încă nu există evaluări
  • Proiect TMPS 2018
    Proiect TMPS 2018
    Document1 pagină
    Proiect TMPS 2018
    Lorena Alexandru
    Încă nu există evaluări
  • Lucrare de Laborator nr.4 Florea Cristina
    Lucrare de Laborator nr.4 Florea Cristina
    Document9 pagini
    Lucrare de Laborator nr.4 Florea Cristina
    Cristina Florea
    Încă nu există evaluări
  • CDE (Lab 1)
    CDE (Lab 1)
    Document5 pagini
    CDE (Lab 1)
    BlandjLdhui
    Încă nu există evaluări
  • Laborator 3
    Laborator 3
    Document17 pagini
    Laborator 3
    DorelDjj
    Încă nu există evaluări
  • Amoo 7
    Amoo 7
    Document4 pagini
    Amoo 7
    AlionaCrigan
    Încă nu există evaluări
  • PPE Lab7
    PPE Lab7
    Document14 pagini
    PPE Lab7
    danielploaia
    Încă nu există evaluări
  • Lab 1 BD
    Lab 1 BD
    Document7 pagini
    Lab 1 BD
    Augusta Bucataru
    Încă nu există evaluări
  • Lab. 2
    Lab. 2
    Document7 pagini
    Lab. 2
    Cristina Florea
    Încă nu există evaluări
  • SOMIPP7
    SOMIPP7
    Document3 pagini
    SOMIPP7
    Damean Alexandra
    Încă nu există evaluări
  • PS TS
    PS TS
    Document14 pagini
    PS TS
    Victor Turculet
    Încă nu există evaluări
  • Lucrare de Curs LFPC
    Lucrare de Curs LFPC
    Document17 pagini
    Lucrare de Curs LFPC
    mikeylino
    Încă nu există evaluări
  • SOMIPP Lab6
    SOMIPP Lab6
    Document4 pagini
    SOMIPP Lab6
    Dan
    Încă nu există evaluări
  • Proiect
    Proiect
    Document8 pagini
    Proiect
    Lalac Rodica
    Încă nu există evaluări
  • Lucrare de Laborator 5 RC
    Lucrare de Laborator 5 RC
    Document7 pagini
    Lucrare de Laborator 5 RC
    Veaceslav Balaban
    Încă nu există evaluări
  • Protocoale de Poştă Electronică POP3, SMTP Şi IMAP
    Protocoale de Poştă Electronică POP3, SMTP Şi IMAP
    Document8 pagini
    Protocoale de Poştă Electronică POP3, SMTP Şi IMAP
    Vadim Țurcan
    Încă nu există evaluări
  • Lab7 IOT
    Lab7 IOT
    Document8 pagini
    Lab7 IOT
    DanuIepuras
    Încă nu există evaluări
  • Iepuras Daniel Lab 1 TS
    Iepuras Daniel Lab 1 TS
    Document4 pagini
    Iepuras Daniel Lab 1 TS
    DanuIepuras
    Încă nu există evaluări
  • Singleton Design Pattern Iepuras Daniel TI-171
    Singleton Design Pattern Iepuras Daniel TI-171
    Document3 pagini
    Singleton Design Pattern Iepuras Daniel TI-171
    DanuIepuras
    Încă nu există evaluări
  • Iot 6
    Iot 6
    Document10 pagini
    Iot 6
    DanuIepuras
    Încă nu există evaluări
  • New Microsoft Word Document
    New Microsoft Word Document
    Document26 pagini
    New Microsoft Word Document
    DanuIepuras
    Încă nu există evaluări
  • Lab 5-6
    Lab 5-6
    Document18 pagini
    Lab 5-6
    DanuIepuras
    Încă nu există evaluări
  • Tipuri de Microfoane
    Tipuri de Microfoane
    Document7 pagini
    Tipuri de Microfoane
    DanuIepuras
    Încă nu există evaluări
  • Iepuras Daniel LAB 3 TS
    Iepuras Daniel LAB 3 TS
    Document8 pagini
    Iepuras Daniel LAB 3 TS
    DanuIepuras
    Încă nu există evaluări
  • Lab 5-6
    Lab 5-6
    Document18 pagini
    Lab 5-6
    DanuIepuras
    Încă nu există evaluări
  • 612
    612
    Document73 pagini
    612
    verginarojnita
    Încă nu există evaluări
  • Somipp Linux 1 UTM
    Somipp Linux 1 UTM
    Document10 pagini
    Somipp Linux 1 UTM
    Cristi Poselețchi
    Încă nu există evaluări
  • Lab 5-6
    Lab 5-6
    Document18 pagini
    Lab 5-6
    DanuIepuras
    Încă nu există evaluări
  • Aport: Lucrare de Laborator Nr.3 Tema
    Aport: Lucrare de Laborator Nr.3 Tema
    Document3 pagini
    Aport: Lucrare de Laborator Nr.3 Tema
    DanuIepuras
    Încă nu există evaluări
  • Baze de Data Lab4
    Baze de Data Lab4
    Document2 pagini
    Baze de Data Lab4
    DanuIepuras
    0% (1)
  • GC Lab 3
    GC Lab 3
    Document3 pagini
    GC Lab 3
    DanuIepuras
    Încă nu există evaluări
  • AC Lab 4
    AC Lab 4
    Document4 pagini
    AC Lab 4
    DanuIepuras
    Încă nu există evaluări
  • TW Lab 6
    TW Lab 6
    Document6 pagini
    TW Lab 6
    DanuIepuras
    Încă nu există evaluări
  • PPE Lab3
    PPE Lab3
    Document6 pagini
    PPE Lab3
    DanuIepuras
    Încă nu există evaluări
  • AC Lab 4
    AC Lab 4
    Document4 pagini
    AC Lab 4
    DanuIepuras
    Încă nu există evaluări
  • Cde 3 Lab
    Cde 3 Lab
    Document5 pagini
    Cde 3 Lab
    DanuIepuras
    Încă nu există evaluări
  • Metodologia Rezolvarii Problemelor de Informatica in Stilul OOP
    Metodologia Rezolvarii Problemelor de Informatica in Stilul OOP
    Document112 pagini
    Metodologia Rezolvarii Problemelor de Informatica in Stilul OOP
    hell_sing_Z
    100% (3)
  • Asdn Lab1
    Asdn Lab1
    Document4 pagini
    Asdn Lab1
    DanuIepuras
    Încă nu există evaluări
  • Arbori de Acoperire de Cost Minim
    Arbori de Acoperire de Cost Minim
    Document34 pagini
    Arbori de Acoperire de Cost Minim
    DanuIepuras
    100% (1)