Bonjour à tous,
Pour envoyer des mails avec des pièces jointes (à partir d'un formulaire HTML), j'utilise le code suivant (avec Spring) :
byte[] file;
FileUploadBean bean = (FileUploadBean)command;
file = bean.getFile();
try{
InputStream in = new ByteArrayInputStream(file);
Properties props = new Properties();
props.put("mail.smtp.host", "x.x.x.x");
Session ses = Session.getDefaultInstance(props, null);
// create a message
MimeMessage msg = new MimeMessage(ses);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress("monadresse")};
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(subject);
MimeBodyPart mbp1 = new MimeBodyPart();
String text = "Le texte à mettre";
mbp1.setText(text);
MimeBodyPart mbp2 = new MimeBodyPart();
mbp2.setDataHandler(new DataHandler(new MimePartDataSource(new MimeBodyPart(in))));
mbp2.setFileName(filename.substring(filename.lastIndexOf("\\") + 1,filename.length() ));
Multipart mp = new MimeMultipart();
mp.addBodyPart(mbp1);
mp.addBodyPart(mbp2);
msg.setContent(mp);
msg.setSentDate(new Date());
Transport.send(msg);
return new ModelAndView(viewSuccessName);
}
J'essaie donc de permettre à un utilisateur de joindre une image à son message.
Le tableau de bytes récupéré est bien de même taille que l'image que je souhaite joindre, mais à la réception, la partie de l'image qui définit que c'est une jpg a été coupée.
Ceci :
ÿØÿà JFIF D D ÿÛ C
n'est plus au début de mon fichier reçu.
Je pense que le problème se produit lorsque je fais le setDataHandler, mais je ne sais pas comment dire à l'objet MimeBodyPart que c'est du jpeg que j'envoie.
Si quelqu'un a une idée, d'avance merci beaucoup 
Fanny