Attachments + Html mit commons-E-Mail generiert zeigt nicht in einigen E-Mail-Clients
-
10-07-2019 - |
Frage
Ich habe die org.apache.commons.mail.HtmlEmail Klasse wurde unter Verwendung von Apache Commons-Mail, für einige Zeit. Schließlich klagen einige Nutzer, dass die E-Mail ohne attachemnts auf ihrem E-Mail-Client (Problem in Outlook 2007 und Lotus Notes berichtet) zeigt.
Ein Benutzer haben analysiert auch das Problem und schickte mich auf den folgenden Link:
http://support.microsoft.com/kb/961940
Ich habe gelesen, dass andere. Haben rohen javax.mail API geschaltet aufgrund dieses Problems
Hier ist der Teil des Codes, der die Dateien legt:
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
}
Haben Sie jemand, dass zuvor erlebt?
Vielen Dank im Voraus.
Jonathas
Lösung
Es scheint, dass es ein Problem mit commons-E-Mail-Version 1.1 war. Ein Upgrade auf 1.2 scheint, das Problem zu lösen.