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