【发布时间】:2019-04-02 13:31:08
【问题描述】:
我找到的发送带有附件的email 的教程是基于一个已经创建的文件。但我需要即时创建一个pdf 文件并将其附加到电子邮件中。该怎么做?
【问题讨论】:
-
到目前为止你尝试了什么?
标签: java spring spring-boot
我找到的发送带有附件的email 的教程是基于一个已经创建的文件。但我需要即时创建一个pdf 文件并将其附加到电子邮件中。该怎么做?
【问题讨论】:
标签: java spring spring-boot
大多数 PDF 生成器都支持写入 OutputStream。一种解决方案是使用FileOutputStream,将 PDF 保存到磁盘,创建邮件(使用您拥有的教程),发送邮件,删除文件。
另一种选择是使用ByteArrayOutputStream(使用commons-lang3 中的那个,因为Java 运行时中的那个对于大文件来说非常慢)。使用它来生成“文件”。创建 PDF 后,使用 getByteArray() 并将其放入 ByteArrayInputStream 中,您应该可以将其用作邮件附件。
【讨论】: