E-mailek küldése csatolmányokkal Java-ban

1. Áttekintés

Ebben a gyors oktatóanyagban megtudhatjuk, hogyan küldhetünk e-maileket egy és több melléklettel Java-ban JavaMail API.

2. Projekt beállítása

Ebben a cikkben egy egyszerű Maven-projektet hozunk létre javax.mail függőség:

 javax.mail mail 1.5.0-b01 

3. Levelek küldése mellékletekkel

Először konfigurálnunk kell az e-mail szolgáltató hitelesítő adatait. Aztán a Ülés Az objektum az e-mail gazdagép, a port, a felhasználónév és a jelszó megadásával jön létre. Mindezeket az adatokat az e-mail host szolgáltatás biztosítja. Bármely hamis SMTP teszt szervert használhatunk a kódunkhoz.

Ülés Az objektum kapcsolatgyárként fog működni a konfiguráció és a hitelesítés kezeléséhez JavaMail.

Most, hogy van egy Ülés objektum, lépjünk tovább és alkossunk MimeMessage és MimeBodyPart tárgy. Ezeket az objektumokat használjuk az e-mail létrehozásához:

Üzenet = új MimeMessage (munkamenet); message.setFrom (új InternetAddress (from)); message.setRecipients (Message.RecipientType.TO, InternetAddress.parse (to)); message.setSubject ("Test Mail Subject"); BodyPart messageBodyPart = új MimeBodyPart (); messageBodyPart.setText ("Mail Body"); 

A fenti részletben létrehoztuk a MimeMessage objektum a szükséges részletekkel, például a, a és a tárgyakkal. Akkor van egy MimeBodyPart objektum az e-mail törzsével.

Most létre kell hoznunk egy másikat MimeBodyPart hogy csatoljon egy mellékletet a levelünkbe:

MimeBodyPart attachmentPart = új MimeBodyPart (); attachmentPart.attachFile (új fájl ("C: \ Document1.txt")); 

Most ketten vagyunk MimeBodyPart objektumok egy e-mail munkamenethez. Tehát létre kell hoznunk egyet MimeMultipart objektumot, majd adja hozzá mind a MimeBodyPart tárgyak bele:

Multipart multipart = new MimeMultipart (); multipart.addBodyPart (messageBodyPart); multipart.addBodyPart (attachmentPart); 

Végül a MimeMultiPart hozzáadódik a MimeMessage objektum, mint a levelek tartalma és a Transport.send () metódust hívnak meg az üzenet elküldéséhez:

message.setContent (többrészes); Transport.send (üzenet); 

Összefoglalva, a Üzenet tartalmazza MimeMultiPart amely tovább tartalmaz többszöröset MimeBodyPart. Így állítjuk össze a teljes e-mailt.

Sőt, ha több mellékletet szeretne küldeni, egyszerűen hozzáadhat még egyet MimeBodyPart.

4. Következtetés

Ebben az oktatóanyagban megtanultuk, hogyan küldjön e-maileket egyetlen és több melléklettel Java-ban.

Mint mindig, a teljes forráskód elérhető a GitHubon.