将PDF附加到电子邮件
问题描述:
我想要做的是将一个或多个PDF附加到电子邮件。 我目前使用MimeMessage
发送完美无瑕的电子邮件。但问题是我不知道如何附加文件。 (更具体地说,我使用itext创建的PDF)。将PDF附加到电子邮件
任何示例或提示都被赞赏!
答
创建于MimeMessage
附件(见的javadoc),设置内容键入"application/pdf"
,获取它的内容OutputStream
并将PDF的字节写入它(使用Apache的commons-io IOUtils
)。
答
您可以使用名为Commons Email的着名Apache Jakart库。
如果你的电子邮件是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类。
希望可以帮助...
抢
http://pdfbox.apache.org/的Apache的Java PDF库。 – blob 2011-01-31 10:02:12
@blob,请解释一下...文章是关于iText,以及问题(至少它被标记为iText)。 PDFBox是iText的替代品,但它如何解决附加问题? – Maxym 2011-01-31 10:10:01