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?