如何使用JavaMail将文件附加到电子邮件

Tom*_*mmy 4 java jakarta-mail

我需要使用JavaMail发送PDF文件.PDF目前是一个字节[].如何将其导入DataSource?

byte[] pdffile = ....

messageBodyPart = new MimeBodyPart();

DataSource source = ???

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

multipart.addBodyPart(messageBodyPart);
Run Code Online (Sandbox Code Playgroud)

jhe*_*ngs 7

用途javax.mail.util.ByteArrayDataSource:

DataSource source = new ByteArrayDataSource(pdffile, "application/pdf");
Run Code Online (Sandbox Code Playgroud)

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

DataSource source = new FileDataSource(pdfpath);
Run Code Online (Sandbox Code Playgroud)