Envoi d'e-mails avec des pièces jointes en Java

1. Vue d'ensemble

Dans ce tutoriel rapide, nous allons apprendre à envoyer des e-mails avec des pièces jointes uniques et multiples en Java à l'aide de l' API JavaMail .

2. Configuration du projet

Dans cet article, nous créons un projet Maven simple avec une dépendance javax.mail :

 javax.mail mail 1.5.0-b01 

3. Envoi de courrier avec pièces jointes

Tout d'abord, nous devons configurer les informations d'identification du fournisseur de services de messagerie. Ensuite, l' objet Session est créé en fournissant l'hôte de messagerie, le port, le nom d'utilisateur et le mot de passe. Tous ces détails sont fournis par le service hôte de messagerie. Nous pouvons utiliser n'importe quel faux serveur de test SMTP pour notre code.

L' objet Session fonctionnera comme une fabrique de connexions pour gérer la configuration et l'authentification pour JavaMail .

Maintenant que nous avons un objet Session , allons plus loin et créons des objets MimeMessage et MimeBodyPart . Nous utilisons ces objets pour créer le message électronique:

Message message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to)); message.setSubject("Test Mail Subject"); BodyPart messageBodyPart = new MimeBodyPart(); messageBodyPart.setText("Mail Body"); 

Dans l'extrait de code ci-dessus, nous avons créé l' objet MimeMessage avec les détails requis tels que from, to et subject. Ensuite, nous avons un objet MimeBodyPart avec le corps de l'e-mail.

Maintenant, nous devons créer un autre MimeBodyPart pour ajouter une pièce jointe dans notre courrier:

MimeBodyPart attachmentPart = new MimeBodyPart(); attachmentPart.attachFile(new File("C:\\Document1.txt")); 

Nous avons maintenant deux objets MimeBodyPart pour une session de messagerie. Nous devons donc créer un objet MimeMultipart , puis y ajouter les deux objets MimeBodyPart :

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

Enfin, le MimeMultiPart est ajouté à l' objet MimeMessage en tant que contenu de notre courrier et la méthode Transport.send () est appelée pour envoyer le message:

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

Pour résumer, le message contient MimeMultiPart qui contient en outre plusieurs MimeBodyPart (s) . C'est ainsi que nous assemblons l'e-mail complet.

De plus, pour envoyer plusieurs pièces jointes, vous pouvez simplement ajouter un autre MimeBodyPart .

4. Conclusion

Dans ce didacticiel, nous avons appris à envoyer des e-mails avec des pièces jointes uniques et multiples en Java.

Comme toujours, le code source complet est disponible à l'adresse over sur GitHub.