2011-01-31 234 views
3

我想要做的是將一個或多個PDF附加到電子郵件。 我目前使用MimeMessage發送完美無瑕的電子郵件。但問題是我不知道如何附加文件。 (更具體地說,我使用itext創建的PDF)。將PDF附加到電子郵件

任何示例或提示都被讚賞!

回答

3

reading(「如何創建一個內存中的PDF報告,併發送作爲利用iText和Java電子郵件附件」)可以幫助你

+0

http://pdfbox.apache.org/的Apache的Java PDF庫。 – blob 2011-01-31 10:02:12

+0

@blob,請解釋一下...文章是關於iText,以及問題(至少它被標記爲iText)。 PDFBox是iText的替代品,但它如何解決附加問題? – Maxym 2011-01-31 10:10:01

2

創建於MimeMessage附件(見的javadoc),設置內容鍵入"application/pdf",獲取它的內容OutputStream並將PDF的字節寫入它(使用Apache的commons-io IOUtils)。

2

您可以使用名爲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類。

希望可以幫助...