我的 jsp
页面中有报告,我正在以 PDF 格式编写该报告。
我想将 PDF 作为带附件的电子邮件发送,但我不想将文件存储在本地机器或服务器中,但我想发送一封带附件的电子邮件。
最佳答案
如果您使用 Spring's JavaMail API ,您可以相当轻松地完成这类事情(或者至少,像 JavaMail API 允许的那样容易,这并不多)。所以你可以这样写:
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));
}
});
附件数据可以是任何 Spring 的 Resource 抽象,ByteArrayResource
只是其中之一。
请注意,这部分 Spring API 独立存在,它不需要(但确实受益于)Spring 容器。
关于java - 使用 JAVA Mail API 发送带附件的电子邮件而不存储在本地机器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1502635/