Afsendelse af e-mails med vedhæftede filer i Java

1. Oversigt

I denne hurtige vejledning lærer vi, hvordan du sender e-mails med enkelt og flere vedhæftede filer i Java ved hjælp af JavaMail API.

2. Opsætning af projekt

I denne artikel opretter vi et simpelt Maven-projekt med javax.mail afhængighed:

 javax.mail mail 1.5.0-b01 

3. Afsendelse af post med vedhæftede filer

Først skal vi konfigurere e-mail-udbyderens legitimationsoplysninger. Derefter Session objekt oprettes ved at angive e-mail-værten, porten, brugernavnet og adgangskoden. Alle disse oplysninger leveres af e-mail-værtsservicen. Vi kan bruge alle falske SMTP-testservere til vores kode.

Session objekt fungerer som en forbindelsesfabrik til at håndtere konfigurationen og godkendelsen for JavaMail.

Nu hvor vi har en Session objekt, lad os gå videre og oprette MimeMessage og MimeBodyPart objekt. Vi bruger disse objekter til at oprette e-mail-beskeden:

Beskedbesked = ny MimeMessage (session); message.setFrom (ny InternetAddress (fra)); message.setRecipients (Message.RecipientType.TO, InternetAddress.parse (til)); message.setSubject ("Test mail subject"); BodyPart messageBodyPart = ny MimeBodyPart (); messageBodyPart.setText ("Mail Body"); 

I ovenstående uddrag har vi oprettet MimeMessage objekt med krævede detaljer såsom fra, til og emne. Så har vi en MimeBodyPart objekt med e-mail-kroppen.

Nu skal vi oprette en anden MimeBodyPart for at tilføje en vedhæftet fil i vores mail:

MimeBodyPart attachmentPart = ny MimeBodyPart (); attachmentPart.attachFile (ny fil ("C: \ Document1.txt")); 

Vi har nu to MimeBodyPart objekter til en mailsession. Så vi er nødt til at oprette en MimeMultipart objekt, og tilføj derefter begge MimeBodyPart genstande ind i det:

Multipart multipart = ny MimeMultipart (); multipart.addBodyPart (messageBodyPart); multipart.addBodyPart (vedhæftningsdel); 

Endelig blev MimeMultiPart tilføjes til MimeMessage objekt som vores mailindhold og Transport.send () metode kaldes for at sende beskeden:

message.setContent (multipart); Transport.send (besked); 

For at opsummere: Besked indeholder MimeMultiPart som yderligere indeholder flere MimeBodyPart (s). Sådan samler vi den komplette e-mail.

Desuden kan du blot tilføje en anden for at sende flere vedhæftede filer MimeBodyPart.

4. Konklusion

I denne vejledning har vi lært, hvordan man sender e-mails med enkelt og flere vedhæftede filer i Java.

Som altid er den komplette kildekode tilgængelig på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found