gpt4 book ai didi

java - 如何将 PDF 文件附加到邮件中

转载 作者:行者123 更新时间:2023-11-30 04:17:13 26 4
gpt4 key购买 nike

我尝试使用 java 将准备好的 pdf 文件附加到邮件中,因此我在下面进行了尝试

String filename = "file.pdf";

ByteArrayOutputStream bos = new ByteArrayOutputStream();
??.write(bos);

DataSource fds = new ByteArrayDataSource(bos.toByteArray(), "application/pdf");
MimeBodyPart mbp2 = new MimeBodyPart();
mbp2.setDataHandler(new DataHandler(fds));
mbp2.setFileName(filename);

我不明白用什么来代替“??”。所以请给我建议。

最佳答案

javax.mail.util.ByteArrayDataSource 在 JavaMail 1.4 中引入,以下是一些相同的指针

如果您使用 Spring 的 JavaMail API,则可以相当轻松地完成此类操作(或者至少与 JavaMail API 允许的一样简单,但这并不多)。

附件数据可以是 Spring 的任何资源抽象,ByteArrayResource 只是其中之一。

请注意,Spring API 的这一部分是独立的,它不需要(但确实受益于)Spring 容器。

JavaMailSenderImpl mailSender = ... instantiate and configure JavaMailSenderImpl here
final byte[] data = .... this holds my PDF data

mailSender.send(new MimeMessagePreparator() {
public void prepare(MimeMessage mimeMessage) throws Exception {
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage);
// set from, to, subject using helper
helper.addAttachment("my.pdf", new ByteArrayResource(data));
}
});

关于java - 如何将 PDF 文件附加到邮件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18071944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com