Posielanie e-mailov s prílohami v prostredí Java
1. Prehľad
V tomto rýchlom výučbe sa naučíme, ako pomocou aplikácie odosielať e-maily s jednou a viacerými prílohami v prostredí Java JavaMail API.
2. Nastavenie projektu
V tomto článku vytvárame jednoduchý projekt Maven s javax.mail závislosť:
javax.mail mail 1.5.0-b01
3. Posielanie pošty s prílohami
Najskôr musíme nakonfigurovať poverenia poskytovateľa e-mailových služieb. Potom Session objekt sa vytvorí poskytnutím e-mailového hostiteľa, portu, používateľského mena a hesla. Všetky tieto podrobnosti poskytuje služba hostiteľa e-mailu. Pre náš kód môžeme použiť akékoľvek falošné testovacie servery SMTP.
Session objekt bude fungovať ako továreň na pripojenie na spracovanie konfigurácie a autentifikácie pre JavaMail.
Teraz, keď máme Session objekt, posuňme sa ďalej a tvorme MimeMessage a MimeBodyPart objekt. Na vytvorenie e-mailovej správy používame tieto objekty:
Správa správy = nová MimeMessage (relácia); message.setFrom (nová internetová adresa (z)); message.setRecipients (Message.RecipientType.TO, InternetAddress.parse (do)); message.setSubject ("Testovací predmet pošty"); BodyPart messageBodyPart = nový MimeBodyPart (); messageBodyPart.setText ("telo pošty");
Vo vyššie uvedenom úryvku sme vytvorili MimeMessage objekt s požadovanými podrobnosťami, ako sú od, do a predmet. Potom máme MimeBodyPart objekt s telom e-mailu.
Teraz musíme vytvoriť ďalší MimeBodyPart pridať prílohu do našej pošty:
MimeBodyPart attachmentPart = nový MimeBodyPart (); attachmentPart.attachFile (nový súbor ("C: \ Document1.txt"));
Teraz sme dvaja MimeBodyPart objekty pre jednu poštovú reláciu. Musíme si ho teda vytvoriť MimeMultipart objekt a potom pridajte oba MimeBodyPart predmety do nej:
Viacdielne viacdielne = nový MimeMultipart (); multipart.addBodyPart (messageBodyPart); multipart.addBodyPart (attachmentPart);
Nakoniec MimeMultiPart sa pridáva k MimeMessage namietajte ako náš obsah pošty a Transport.send () na odoslanie správy je použitá metóda:
message.setContent (viacdielny); Transport.send (správa);
Ak to zhrnieme, Správa obsahuje MimeMultiPart ktorý ďalej obsahuje viac MimeBodyPart (s). Takto zostavujeme kompletný e-mail.
Ak chcete navyše odoslať viac príloh, môžete jednoducho pridať ďalšiu MimeBodyPart.
4. Záver
V tomto tutoriáli sme sa naučili, ako odosielať e-maily s jednou a viacerými prílohami v prostredí Java.
Celý zdrojový kód je ako vždy k dispozícii na stránkach GitHub.