Trimiterea e-mail-ului din aplicația java ee

Site-ul este dedicat dezvoltării de aplicații web bazate pe limbajul de programare Java. Materiale javasource.ru acoperă subiecte sunt interdependente: serverul de aplicații GlassFish, cadru, JavaServer Faces, NetBeans IDE, on-line de servicii GitHub, Apache Tomcat container servlet, Tehnologia Java Web Start, un set de specificații și documentația pentru platforma Java Enterprise Edition - JEE







Aplicațiile implementate pe un server GlassFish sau pe orice alt server de aplicații compatibil JavaEE ar trebui să ofere adesea posibilitatea de a trimite e-mailuri. Datorită API-ului JavaMail, care face parte din specificațiile JavaEE, este ușor să trimiteți e-mailuri din aplicațiile JavaEE.

Pentru a implementa abilitatea de a trimite e-mailuri de la o aplicație JavaEE, trebuie să avem acces la serverul de e-mail. De obicei, acest lucru se realizează prin utilizarea protocolului de transfer simplu de mesaje. Pe scurt - SMTP.

Configurarea serverului GlassFish pentru trimiterea de e-mailuri

Înainte de a putea trimite e-mailuri din aplicațiile noastre JavaEE, trebuie să configuram un server de aplicații GlassFish. În primul rând, trebuie să adăugați o nouă sesiune de javamail, conectați la consola de administrare web prin extinderea resurselor (resurse) în arborele de navigare în panoul din stânga al paginii și apoi făcând clic pe nodul Sessions javamail (JavaMailSessions).

Pentru a crea o nouă sesiune JavaMail, trebuie să faceți clic pe butonul Nou ... și să setați anumite valori în câmpurile și listele paginii deschise.

1. JNDIName - trebuie să introduceți numele JNDI pentru sesiunea noastră JavaMail. Acest nume trebuie să fie valabil și unic. Aplicațiile îl vor utiliza pentru a accesa serviciul de e-mail.

2. MailHost - specificați numele DNS al serverului de mail, pe care îl vom folosi pentru a trimite e-mailuri.

3. DefaultUser - specificați numele de utilizator implicit care este utilizat pentru a vă conecta la serverul de e-mail.

5. Stare - o casetă de selectare care vă permite să activați sau să dezactivați această sesiune javaMail.







6. StoreProtocol - folosit pentru a specifica valoarea protocolului magazinului de mail care permite aplicațiilor noastre să primească e-mailuri din el. Valorile valide pentru acest câmp sunt imap, imaps, pop3 b pop3s.
Fiți atenți! Protocolul de stocare este ignorat dacă aplicațiile trimit numai e-mailuri. De obicei, aplicațiile noastre trimit e-mailuri mult mai des decât le primesc. În cazul în care toate aplicațiile ipsolzuyuschie sesiunea noastră mail vor fi trimise numai prin scrisoare, valoare polyaStoreProtocol, precum și polyaStoreProtocolClass ignorate.

7. StoreProtocolClass - acest câmp specifică clasa de implementare a furnizorului corespunzătoare protocolului de stocare specificat.

8. TransportProtocol - folosit pentru a specifica valoarea protocolului de transport al serverului de mail, unde aplicațiile noastre pot trimite e-mailuri. Valorile valide pentru acest câmp sunt smtp și smtps.

9. TransportProtocolClass - indică clasa de implementare a furnizorului de servicii corespunzător protocolului de transport specificat

b. com.sun.mail.smtp.SMTPSSLTransport - pentru smtps de protocol de transport

10. Debug - această casetă de selectare ne permite să activați sau să dezactivați depanarea pentru această sesiune JavaMail

După introducerea tuturor informațiilor necesare pentru serverul nostru, rămâne să faceți clic pe butonul OK din partea dreaptă sus a barei de pagină principală pentru a crea o sesiune JavaMail. Acum, sesiunea creată va putea să utilizeze aplicațiile implementate.

Implementarea funcționalității de livrare a poștei electronice

După ce am primit sesiunea de configurare Javamail, putem implementa destul de ușor funcționalitatea livrării prin e-mail. Mai jos sunt exemple de cod de clasă și formular pentru trimiterea mesajelor de e-mail către Java de pe serverul de aplicații GlassFish.

Exemplu de cod Java

Cod XHTML de probă al formularului de expediere

Primul lucru pe care trebuie să facem - pentru a injecta (intra) instanța creată de către sesiunea JavaMail, adăugând la nivelul javax.mail.Session variabilă de tip clasă și decorarea @Resource ei adnotată. Valoarea atributului name adnotărilor trebuie să respecte JNDI-nume pe care le-a dat sesiunea JavaMail în procesul de creare a acesteia.

Apoi, trebuie să creați o instanță de javax.mail.internet.MimeMessage, trecând obiectul de sesiune ca parametru constructorului său.

Dacă avem nevoie pentru a trimite un mesaj către mai mulți destinatari, puteți utiliza addRecipients () metoda de javax.mail.Message de clasă (sau de una din subclasele sale, cum ar fi javax.mail.internet.MimeMessage). Această metodă ia tipul primului parametru și array javax.mail.Address - ca al doilea. Mesajul va fi trimis tuturor destinatarilor din matrice. Atunci când utilizați această metodă, în loc de setRecipient (), nu suntem limitați la tipul de destinatar unic pentru destinatari.

După ce specificați unul sau mai mulți destinatari ar trebui să fie adăugate la subiectul mesajului și a textului, respectiv, cauzând setSubject () și setTex () pe o instanță de comunicare.

Acum suntem gata să trimitem mesajul nostru. Pentru a face acest lucru, pur și simplu apelați metoda statică send () pe clasa javax.mail.Transport. Această metodă are ca exemplu un exemplu de mesaj.







Articole similare

Trimiteți-le prietenilor: