E-mailek küldése Java-val

1. Áttekintés

Ebben a gyors oktatóanyagban e-mailt küldünk csatolmányokkal és csatolmányokkal - az alapvető Java levéltár segítségével.

2. A projekt beállítása és a függőség

Ebben a cikkben egy egyszerű Maven-alapú projektet fogunk használni, amely függ a Java levelezési könyvtárától:

 javax.mail mail 1.5.0-b01 

A legújabb verzió itt található.

3. Sima szöveg és HTML e-mail küldése

Először konfigurálnunk kell a könyvtárat az e-mail szolgáltató hitelesítő adataival. Ezután létrehozunk egy Ülés ezt felhasználjuk az üzenet küldésre való felépítéséhez.

A konfiguráció Java-n keresztül történik Tulajdonságok tárgy:

Tulajdonságok prop = új Tulajdonságok (); prop.put ("mail.smtp.auth", igaz); 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");

A fenti tulajdonságkonfigurációban az e-mail állomást Mailtrap-ként konfiguráltuk, és használjuk a szolgáltatás által biztosított portot is.

Most lépjünk tovább, létrehozva egy munkamenetet a felhasználónevünkkel és jelszavunkkal:

Munkamenet = Session.getInstance (prop, new Authenticator () {@ Felülbírálás védett PasswordAuthentication getPasswordAuthentication () {return new PasswordAuthentication (felhasználónév, jelszó);}});

A felhasználónevet és jelszót a levelező szolgáltató adja meg a gazdagép és a port paraméterei mellett.

Most, hogy van egy levelünk Ülés objektumot, hozzunk létre egy PantomimÜzenet küldésére:

Üzenet = új MimeMessage (munkamenet); message.setFrom (új InternetAddress ("[e-mail védett]")); message.setRecipients (Message.RecipientType.TO, InternetAddress.parse ("[email védett]")); message.setSubject ("Mail Subject"); String msg = "Ez az első e-mailem a JavaMailer használatával"; MimeBodyPart mimeBodyPart = új MimeBodyPart (); mimeBodyPart.setContent (msg, "text / html"); Multipart multipart = new MimeMultipart (); multipart.addBodyPart (mimeBodyPart); message.setContent (többrészes); Transport.send (üzenet);

A fenti részletben először létrehoztunk egy üzenet a szükséges tulajdonságokkal - a, a és az alany felé. Ezt követi a mimeBodyPartamelynek kódolása szöveg / html, mivel üzenetünk HTML-stílusú.

A következő dolog az volt, hogy létrehoztunk egy példányt MimeMultipart objektum, amelyet felhasználhatunk a mimeBodyPart hoztunk létre.

Végül beállítottuk a többrészes tárgy, mint tartalmunk üzenet és használja a Küld()nak,-nek Szállítás objektum az e-mail küldéshez.

Tehát azt mondhatjuk, hogy a mimeBodyParttartalmazza a többrészes amit a üzenet. Ezért a többrészes többet is tartalmazhat mimeBodyPart.

Ez lesz a következő szakasz középpontjában.

4. E-mail küldése melléklettel

Ezután egy melléklet elküldéséhez csak egy másikat kell létrehoznunk MimeBodyPartés csatolja hozzá a fájl (oka) t:

MimeBodyPart attachmentBodyPart = új MimeBodyPart (); attachmentBodyPart.attachFile (új fájl ("elérési út / fájlhoz"));

Ezután hozzáadhatjuk az új testrészt a MimeMultipartkorábban létrehozott objektum:

multipart.addBodyPart (attachmentBodyPart);

Ennyit kell tennünk.

Még egyszer beállítottuk a többrészes például a üzenet objektumot, végül felhasználjuk a Küld() hogy végezze el a levél küldését.

5. Következtetés

Összegzésként elmondtuk, hogy láttuk, hogyan lehet a natív Java levelezési könyvtárat használni e-mailek küldéséhez akár csatolással is.

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