Вложения+Html, созданные с помощью Commons-email, не отображаются в некоторых почтовых клиентах.
-
10-07-2019 - |
Вопрос
Я уже некоторое время использую класс org.apache.commons.mail.HtmlEmail из Apache commons-mail.В конце концов, некоторые пользователи жалуются, что электронное письмо отображается без вложений в их почтовом клиенте (о проблеме сообщалось в Outlook 2007 и Lotus Notes).
Один пользователь даже проанализировал проблему и прислал мне следующую ссылку:
http://support.microsoft.com/kb/961940
Я читал, что другие:из-за этой проблемы перешли на необработанный API javax.mail.
Вот часть кода, которая прикрепляет файлы:
private void dummy(List<Map<String, byte[]>> attachments, String htmlText) throws EmailException {
HtmlEmail memail;
memail = new HtmlEmail();
memail.setHtmlMsg(htmlText);
memail.setTextMsg("Your mail client doesn't recognize HTML e-mails.");
Iterator<Map<String, byte[]>> iter = attachments.iterator();
while (iter.hasNext()) {
Map<java.lang.String, byte[]> map = iter.next();
Set<Entry<String, byte[]>> entries = map.entrySet();
for (Entry<String, byte[]> entry : entries) {
try {
ByteArrayDataSource bads = new ByteArrayDataSource(
entry.getValue(), null);
memail.embed(bads, entry.getKey());
// memail.attach(bads, entry.getKey(), ""); // if I use this, the html message
// gets displaced
} catch (IOException e) {
throw new EmailException(e);
}
}
}
// ... continues
}
Кто-нибудь испытывал это раньше?
Заранее большое спасибо.
Джонатас
Решение
Кажется, возникла проблема с электронной почтой Commons версии 1.1.Обновление до 1.2 вроде решило проблему.
Не связан с StackOverflow