[Javamail] Envoi de pièce jointe
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:
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?