Bonjour à tous, j'aimerais savoir s'il est possible d'envoyer une pièce jointe à des destinataires différents avec javamail.
D'abrod il y un fichier qui s'appelle pièceXX.zip, (le XX) est une entier qui varie de 01 jusqu'à 40.
L'exéditeur c'est : moi@test.com
Puis il y a des destinataires qui s'appelle destXX@test.com , (le XX) est une entier qui varie de 01 jusqu'à 40.
le but c'est d'avoir un résultat comme suit :
From : moi@test.com
CC : dest01@test.com
File : pièce01.zip
From : moi@test.com
CC : dest02@test.com
File : pièce02.zip
From : moi@test.com
CC : dest03@test.com
File : pièce03.zip
................................
................................
From : moi@test.com
CC : dest40@test.com
File : pièce40.zip
Voici un bout de code que j'ai fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 public static boolean envoyerMailSMTP(String serveur, boolean debug) { boolean result = false; try { // creation partie principale du message //messageBodyPart.setText("Test"); Properties prop = System.getProperties(); prop.put("mail.test.com", serveur); Session session = Session.getDefaultInstance(prop,null); Message message = new MimeMessage(session); message.setFrom(new InternetAddress("moi@test.com")); String mailBuffer = ""; for(int i = 01; i <= 40; i++) { mailBuffer += "dest"+i+"@test.com,"; } message.addRecipients(Message.RecipientType.CC , InternetAddress.parse(mailBuffer)); // Fin nombre destinataire //Test piece joint Multipart multipart = new MimeMultipart(); // creation partie principale du message BodyPart messageBodyPart = new MimeBodyPart(); messageBodyPart.setText("Test"); multipart.addBodyPart(messageBodyPart); // creation et ajout de la piece jointe messageBodyPart = new MimeBodyPart(); DataSource source = new FileDataSource("E:\\maven"); messageBodyPart.setDataHandler(new DataHandler(source)); messageBodyPart.setFileName("methode.txt"); multipart.addBodyPart(messageBodyPart); // Fin piece joint message.setSubject("Voici le sujet "); message.setContent(multipart); message.setHeader("Exemple mail en java", MAILER_VERSION); message.setSentDate(new Date()); session.setDebug(debug); Transport.send(message); result = true; } catch (AddressException e) { e.printStackTrace(); } catch (MessagingException e) { e.printStackTrace(); } return result; }
ça n'envoye qu'une seule pièce jointe à tous les déstinataires, mais j'aimerais spécifier une à une la pièce jointe jointe.Est-ce possible?
Partager