Slanje e-pošte s Javom

1. Pregled

U ovom ćemo brzom vodiču pogledati slanje e-pošte sa i bez privitaka - pomoću osnovne knjižnice Java pošte.

2. Postavljanje i ovisnost projekta

Za ovaj ćemo članak koristiti jednostavni projekt zasnovan na Mavenu, koji ovisi o Java knjižnici pošte:

 javax.mail mail 1.5.0-b01 

Najnoviju verziju možete pronaći ovdje.

3. Slanje običnog teksta i HTML e-pošte

Prvo, moramo konfigurirati knjižnicu s vjerodajnicama našeg davatelja usluga e-pošte. Zatim ćemo stvoriti Sjednica koji će se koristiti za izradu naše poruke za slanje.

Konfiguracija je putem Jave Svojstva objekt:

Svojstva prop = new Svojstva (); prop.put ("mail.smtp.auth", istina); prop.put ("mail.smtp.starttls.enable", "true"); prop.put ("mail.smtp.host", "smtp.mailtrap.io"); prop.put ("mail.smtp.port", "25"); prop.put ("mail.smtp.ssl.trust", "smtp.mailtrap.io");

U gornjoj konfiguraciji svojstava, hosta e-pošte konfigurirali smo kao Mailtrap i također koristimo priključak koji pruža usluga.

Sada krenimo dalje stvaranjem sesije s našim korisničkim imenom i lozinkom:

Sesija sesije = Session.getInstance (oslonac, novi Authenticator () {@Preuzmi zaštićenu PasswordAuthentication getPasswordAuthentication () {vrati novu PasswordAuthentication (korisničko ime, lozinka);}});

Korisničko ime i lozinku davatelj usluga e-pošte daje uz parametre hosta i porta.

Sad kad imamo poštu Sjednica objekt, stvorimo a MimePoruka za slanje:

Poruka poruke = nova MimeMessage (sesija); message.setFrom (nova InternetAddress ("[e-pošta zaštićena]")); message.setRecipients (Message.RecipientType.TO, InternetAddress.parse ("[e-pošta zaštićena]")); message.setSubject ("Predmet pošte"); String msg = "Ovo je moja prva e-pošta koja koristi JavaMailer"; MimeBodyPart mimeBodyPart = novi MimeBodyPart (); mimeBodyPart.setContent (msg, "text / html"); Više dijelova više dijelova = novi MimeMultipart (); multipart.addBodyPart (mimeBodyPart); message.setContent (više dijelova); Transport.send (poruka);

U gornjem isječku prvo smo stvorili poruka primjer s potrebnim svojstvima - prema, od i subjektu. Slijedi a mimeBodyPartkoji ima kodiranje od tekst / html, budući da je naša poruka oblikovana u HTML-u.

Sljedeće što smo učinili je stvoriti instancu MimeMultipart objekt kojim možemo omotati mimeBodyPart stvorili smo.

Konačno, postavili smo višedijelni objekt kao sadržaj našeg poruka i koristite poslati()od Prijevoz objekt za slanje pošte.

Dakle, možemo reći da je mimeBodyPartje sadržan u višedijelni koji je sadržan u poruka. Dakle, a višedijelni može sadržavati više od jednog mimeBodyPart.

Ovo će biti fokus sljedećeg odjeljka.

4. Slanje e-pošte s privitkom

Dalje, da bismo poslali privitak, trebamo samo stvoriti novi MimeBodyParti priložite mu datoteke:

MimeBodyPart attachmentBodyPart = novi MimeBodyPart (); attachmentBodyPart.attachFile (nova datoteka ("put / do / datoteke"));

Tada možemo dodati novi dio tijela u MimeMultipartobjekt koji smo stvorili ranije:

multipart.addBodyPart (prilogBodyPart);

To je sve što trebamo učiniti.

Još jednom smo postavili višedijelni primjer kao sadržaj poruka objekt i na kraju ćemo upotrijebiti poslati() poslati poštu.

5. Zaključak

U zaključku smo vidjeli kako koristiti izvornu Java knjižnicu pošte za slanje e-pošte čak i s privitkom.

Kao i uvijek, cjeloviti izvorni kod dostupan je na Githubu.