Posielanie e-mailov pomocou Java
1. Prehľad
V tomto rýchlom výučbe sa pozrieme na odosielanie e-mailov s prílohami a bez príloh - pomocou základnej poštovej knižnice Java.
2. Nastavenie a závislosť projektu
V tomto článku budeme používať jednoduchý projekt založený na Maven so závislosťou na poštovej knižnici Java:
javax.mail mail 1.5.0-b01
Najnovšiu verziu nájdete tu.
3. Posielanie obyčajného textu a e-mailu vo formáte HTML
Najskôr musíme nakonfigurovať knižnicu pomocou poverení nášho poskytovateľa e-mailových služieb. Potom vytvoríme a Session ktoré sa použijú pri zostavovaní našej správy na odoslanie.
Konfigurácia sa vykonáva pomocou Java Vlastnosti objekt:
Vlastnosti prop = nové Vlastnosti (); prop.put ("mail.smtp.auth", true); 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");
V konfigurácii vlastností vyššie sme nakonfigurovali e-mailového hostiteľa ako Mailtrap a použijeme tiež port poskytovaný službou.
Poďme teraz ďalej a vytvorme reláciu s našim používateľským menom a heslom:
Relácia session = Session.getInstance (prop, new Authenticator () {@Override chránená PasswordAuthentication getPasswordAuthentication () {vrátiť nové PasswordAuthentication (meno používateľa, heslo);}});
Používateľské meno a heslo poskytuje poskytovateľ poštových služieb spolu s parametrami hostiteľ a port.
Teraz, keď máme e-mail Session objekt, vytvorme a MimSpráva na odoslanie:
Správa správy = nová MimeMessage (relácia); message.setFrom (nová internetová adresa ("[chránený e-mailom]")); message.setRecipients (Message.RecipientType.TO, InternetAddress.parse ("[chránený e-mailom]")); message.setSubject ("Predmet pošty"); String msg = "Toto je môj prvý e-mail používajúci JavaMailer"; MimeBodyPart mimeBodyPart = nový MimeBodyPart (); mimeBodyPart.setContent (msg, "text / html"); Viacdielne viacdielne = nový MimeMultipart (); multipart.addBodyPart (mimeBodyPart); message.setContent (viacdielny); Transport.send (správa);
V úryvku vyššie sme najskôr vytvorili a správa inštancie s potrebnými vlastnosťami - do, z a predmetom. Nasleduje a mimeBodyPartktorý má kódovanie text / html, pretože naša správa je navrhnutá v jazyku HTML.
Ďalšia vec, ktorú sme urobili, je vytvorenie inštancie MimeMultipart objekt, ktorý môžeme použiť na zabalenie mimeBodyPart sme vytvorili.
Nakoniec sme nastavili viacdielne objekt ako obsah nášho správa a použite poslať ()z Doprava namietajte proti odoslaniu pošty.
Môžeme teda povedať, že mimeBodyPartje obsiahnutá v viacdielne ktorá je obsiahnutá v správa. Preto, a viacdielne môže obsahovať viac ako jednu mimeBodyPart.
Na toto sa zameria ďalšia časť.
4. Posielanie e-mailov s prílohou
Ďalej na odoslanie prílohy stačí vytvoriť ďalšiu MimeBodyParta pripojte k nim súbory:
MimeBodyPart attachmentBodyPart = nový MimeBodyPart (); attachmentBodyPart.attachFile (nový súbor ("cesta / k / súboru"));
Potom môžeme pridať novú časť tela do MimeMultipartobjekt, ktorý sme vytvorili skôr:
multipart.addBodyPart (attachmentBodyPart);
To je všetko, čo musíme urobiť.
Opäť sme nastavili viacdielne napríklad ako obsah správa objekt a nakoniec použijeme poslať () posielať poštu.
5. Záver
Na záver sme videli, ako používať natívnu poštovú knižnicu Java na odosielanie e-mailov aj s prílohami.
Celý zdrojový kód je ako vždy k dispozícii na stránkach Github.