4

我需要使用 JavaMail 发送 PDF 文件。PDF 当前是一个字节[]。如何将其放入数据源?

byte[] pdffile = ....

messageBodyPart = new MimeBodyPart();

DataSource source = ???

messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(filename);

multipart.addBodyPart(messageBodyPart);
4

2 回答 2

7

使用javax.mail.util.ByteArrayDataSource

DataSource source = new ByteArrayDataSource(pdffile, "application/pdf");

您可能知道,如果 PDF 在文件系统上,则更容易FileDataSource

DataSource source = new FileDataSource(pdfpath);
于 2009-11-16T20:42:16.313 回答
3

jheddings 的回答对我来说似乎是正确的,但我还要补充一点,如果你有机会在应用程序中使用 Spring 框架,你可以利用 Spring MimeMessageHelper,它包括一个不错的 addAttachment() 方法(并使其余的消息创建也更容易)。

于 2009-11-16T20:47:02.357 回答