我需要使用JavaMail发送PDF文件。 PDF目前是一个字节[]。如何将其导入DataSource?
byte[] pdffile = ....
messageBodyPart = new MimeBodyPart();
DataSource source = ???
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(filename);
multipart.addBodyPart(messageBodyPart);
答案 0 :(得分:7)
使用javax.mail.util.ByteArrayDataSource
:
DataSource source = new ByteArrayDataSource(pdffile, "application/pdf");
您可能知道,如果PDF在文件系统上,FileDataSource
会更容易:
DataSource source = new FileDataSource(pdfpath);
答案 1 :(得分:3)
jheddings的答案对我来说似乎是正确的,但我还要补充说,如果你在应用程序中使用Spring框架,你可以利用Spring MimeMessageHelper,它包含一个很好的addAttachment()方法(并使消息创建的其余部分更容易。)