Как отправить двоичное вложение в электронное письмо с Java, используя JavaMail API? - PullRequest
0 голосов
/ 08 октября 2008

Используя JDK1.5, как легко отправить двоичное приложение (например, файл PDF) с помощью API JavaMail?

Ответы [ 3 ]

5 голосов
/ 08 октября 2008

Вы смотрели на FAQ по JavaMail ? В нем, кажется, есть небольшие фрагменты, чтобы продемонстрировать процесс (и как исправить общую проблему - нехватка памяти).

4 голосов
/ 08 октября 2008

Если вы не хотите читать некоторые ссылки и не хотите никаких внешних зависимостей, вам нужно использовать MimeMultipart и BodyPart:

MimeMultipart messageContent = new MimeMultipart();

BodyPart bodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(yourFile);
bodyPart.setDataHandler(new DataHandler(source);
bodyPart.setFileName("MyFile.ext");
bodyPart.setDisposition(Part.ATTACHMENT);

// Then add to your message:
messageContent.addBodyPart(bodyPart);

Присоединение тела к сообщениям - это просто присоединение BodyPart с расположением Part.INLINE

2 голосов
/ 08 октября 2008

Если вы хотите сделать это легко, я бы предложил использовать Commons-Email ! Он построен на JavaMail API, но делает его намного проще.

В Руководстве пользователя приведен пример о том, как отправлять электронную почту с вложениями ... это гораздо проще, чем использовать стандартный JavaMail API!

...