2011-01-31 2 views
3

Что я хочу сделать, это прикрепить один или несколько PDF-файлов к электронному письму. В настоящее время я использую MimeMessage для отправки писем, которые работают безупречно. Однако проблема заключается в том, что я понятия не имею, как прикреплять файлы. (Более конкретно, PDF-файлы, которые я создаю с помощью itext).Приложить PDF к электронной почте

Любые примеры или советы приветствуются!

ответ

3

Это reading («Как создать отчет в формате PDF в памяти и отправить в виде вложения электронной почты с помощью IText и Java») поможет вам

+0

http://pdfbox.apache.org/ Apache Java PDF Library. – blob

+0

@blob, объясните немного ... Статья о iText, а также вопрос (по крайней мере, он был помечен как iText). PDFBox является альтернативой iText, но как он решает проблему с прикреплением? – Maxym

2

Создать вложение на MimeMessage (см Javadocs), установите содержание введите "application/pdf", получите содержимое OutputStream и напишите в нем байты PDF (с помощью commons-io IOUtils от Apache).

2

Вы можете использовать знаменитую библиотеку Apache Jakart под названием 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

+0

где установить тип содержимого? Джош. – joshua

Смежные вопросы