Lucrul cu mesajele javamail

O bibliotecă JavaMail distribuită în mod liber este proiectată să se conecteze la serverele de poștă electronică pentru a primi și a trimite e-mail utilizând protocoale SMTP. POP3 și IMAP. Biblioteca vă permite să trimiteți mesaje cu atașamente și să le ștergeți pe serverul de poștă electronică.







Protocoale API JavaMail

  • SMTP (Simple Mail Transfer Protocol) este un protocol de rețea utilizat pe scară largă pentru trimiterea de e-mailuri pe rețelele TCP / IP. Serverele poștale electronice utilizează protocolul SMTP pentru a trimite și primi mesaje de poștă electronică. Aplicațiile poștale ale clientului folosesc de obicei numai SMTP pentru a trimite mesaje către serverul de e-mail și la releu utilizând portul 25 (465 pentru SSL). Ie SMTP este utilizat pentru a trimite poșta de ieșire.
  • IMAP (Internet Message Access Protocol) este un protocol la nivel de aplicație pentru accesarea mesajelor e-mail. IMAP oferă utilizatorului oportunități ample de a lucra cu cutiile poștale localizate pe un server de la distanță. Un program de poștă electronică care utilizează acest protocol poate accesa magazinul de corespondență de pe server ca și cum ar fi localizat pe computerul destinatarului. E-mailurile pot fi controlate de pe computerul utilizatorului fără a trimite fișiere prin rețea. IMAP utilizează protocolul de transport TCP și ascultă pe portul 143.
  • POP3 (Post Office Protocol versiunea 3 Post Office Protocol V3) - un protocol standard de strat de aplicație de rețea utilizată de clienții de e-mail pentru a prelua e-mail de la un server de la distanță printr-o TCP / IP-conexiune. protocolul POP3 suportă cerințele simple de „încărcare-și dârză“ pentru a accesa cutia poștală. serverul POP3 ascultă pe portul 110.

Trimiterea unui mesaj SMTP

Constructorul clasei SendEmail.java, instalarea SMTP SSL

Constructorul obiectului mesajului de tip MimeMessage ca parametru obține valoarea sesiunii de sesiune creată de sesiunea protejată de serverul SMTP.

Listing Authenticator EmailAuthenticator.java







Atașarea unui fișier unui mesaj, MimeBodyPart

Pentru a atașa un fișier unui mesaj, trebuie să creați un obiect de tip MimeBodyPart. în care parametrii specifică calea spre fișier și numele fișierului. Următoarea listă reprezintă funcția formării unui obiect MimeBodyPart cu conținutul fișierului care poate fi încorporat în mesaj.

Trimiterea unui mesaj, Multipart

Funcția sendMessage completează mesajul. Pentru a face acest lucru, creați un obiect mmp de tip MimeMultipart. în care puteți atașa alte obiecte, cum ar fi MimeBodyPart (text, fișier). Metoda mesajului setContent. Obiectul MimeMultipart este trecut ca parametru. determină conținutul mesajului.

Pentru a trimite un mesaj, utilizați metoda de trimitere a clasei Transport. care are următoarele metode de trimitere supraîncărcate:

Prima metodă de trimitere va trimite un mesaj destinatarilor specificați în mesaj. A doua metodă va trimite un mesaj tuturor destinatarilor definiți în matricea adreselor, cu excepția celor definite în mesaj.

Exemplu de trimitere a unui mesaj

Pentru a trimite mesajul, creați fișierul proprietății email.properties. în care definim toți parametrii serverului SMTP necesar și parametrii de conectare. În exemplu, folosim serverul de mail Yandex. deși setările vă permit să utilizați alte servere de e-mail cunoscute.

Următoarea clasă EmailTest este utilizată pentru a trimite un mesaj. În primul rând, parametrii serverului de mail și parametrii de conexiune sunt citiți din fișierul de proprietăți. Clasa InputStream este utilizată pentru citirea fișierului. mai multe despre care este descris pe pagina Input Streams. După aceasta, obiectul SendEmail este creat și mesajul este trimis.

Exemplul prezentat cu mici modificări poate fi utilizat pentru trimiterea mesajelor.

Citirea mesajelor IMAP

După cum sa menționat mai sus, IMAP ar trebui să fie utilizat pentru a citi mesajele de e-mail. Când se utilizează protocolul IMAP, programul trebuie să se conecteze la server și să acceseze folderul INBOX. Pentru a configura o sesiune de conexiune IMAP, trebuie să specificați următoarele:

Afișați un exemplu de citire a mesajelor e-mail

În exemplul următor, configurați întâi sesiunea cu serverul de e-mail pentru a lucra pe canalul de comunicare "privat". După aceasta, se citește ultimul mesaj al dosarului "INBOX" trimis în exemplul anterior. Consola afișează informații despre acest ultim mesaj.

Pentru un exemplu de lucru, trebuie să înlocuiți un autentic login și o parolă în loc de eliptic.

Exemplul folosește clase abstracte

  • Magazin - este un magazin de mesaje, susținut de serverul de e-mail și grupat de proprietar,
  • Folder - oferă posibilitatea de a organiza ierarhic mesaje. Dosarele pot conține mesaje și subdirectoare.

Următorul mesaj va fi afișat în consolă. Desigur, numărul de mesaje din cutia poștală INBOX va fi diferit.

Codul sursă pentru exemplele de utilizare a bibliotecii JavaMail ca proiect Eclipse poate fi descărcat aici (930 KB).







Trimiteți-le prietenilor: