将PDF附加到电子邮件

3
我想要做的是将一个或多个PDF附加到电子邮件中。我目前使用的是MimeMessage来发送电子邮件,它可以完美地工作。然而问题在于我不知道如何附加文件(更具体地说是使用itext创建的PDF)。欢迎提供任何示例或提示!
3个回答

3

这篇文章(“如何使用iText和Java创建内存中的PDF报告并作为电子邮件附件发送”)应该能帮助你。


Apache Java PDF Library,是一款Java PDF库。 - Dhananjay
@blob,请解释一下... 这篇文章是关于iText的,至少问题被标记为iText。PDFBox是iText的替代品,但它如何解决附加问题? - Maxym

2
您可以使用著名的Apache Jakarta库Commons Email
如果您的电子邮件是HTML格式,您可以使用以下代码:
HtmlEmail email = new HtmlEmail();
email.setSubject("<your subject>");
email.setHtmlMsg("<your html message body>");
email.setHostName("<host>");
email.setFrom("<from_address>");
email.addTo("<recipient_address>");
email.send();

然后附上你的PDF文件。
EmailAttachment attachment = new EmailAttachment();

String filePath = "pathtofile";
attachment.setPath(filePath);
attachment.setDisposition(EmailAttachment.ATTACHMENT);
attachment.setDescription("description for this attachment");

email.attach(attachment);

否则,您应该使用MultiPartEmail类。
希望有所帮助...
ROb

在哪里设置内容类型?Josh。 - joshua

2
MimeMessage上创建附件(请参见javadoc),将内容类型设置为"application/pdf",获取它的内容OutputStream并将PDF的字节写入其中(使用Apache的commons-io IOUtils)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接