[JavaMail] InputStream to MimeBody!
Salut,
Je me casse la tête depuis ce matin pour essayer d'envoyer un mail avec une pièce jointe sans créer un fichier.
Je dispose du flux de byte à envoyer, voilà le dernier bout de code que j'ai testé.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
Multipart mp = new MimeMultipart();
mp.addBodyPart(mbp1); //mbp1 le corps du mail
msg.setContent(mp);
MimeBodyPart mbp2 = new MimeBodyPart();//mbp1 pour le fichier joint
MimeBodyPart mpt = new MimeBodyPart();
//mpt pr le passage du inputStream to MimeBodyPart
InputStream in = new ByteArrayInputStream(flux);
mpt = new MimeBodyPart(in);
mbp2 = new MimeBodyPart();
DataSource ds = new MimePartDataSource(mpt);
mbp2.setDataHandler(new DataHandler(ds));
mbp2.setFileName(mail.getAttachedFile());
mp.addBodyPart(mbp2);
msg.addHeader("X-Priority", "1");
Transport.send(msg); |
NB: en créant un fichier à partir du flux, ça marche bien, le problème ne viens pas de l'inputStream.
Merciii d'avance!