não anexos + HTML gerado com commons-mail não mostrar em alguns clientes de email
-
10-07-2019 - |
Pergunta
Estou usando a classe org.apache.commons.mail.HtmlEmail, de apache commons-mail, por algum tempo. Eventualmente, alguns usuários se queixam de que os shows de e-mail sem attachemnts em seu cliente de e-mail (problema relatado no Outlook 2007 e Lotus Notes).
Um usuário sequer analisou o problema e me enviou a seguinte link:
http://support.microsoft.com/kb/961940
Eu li que os outros:. Mudaram para API javax.mail crua devido a este problema
Aqui está a parte do código que atribui os arquivos:
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
}
Tem alguém experimentou isto antes?
Muito obrigado antecipadamente.
Jonathas
Solução
Parece que houve um problema com commons-mail versão 1.1. A atualização para o 1.2 parece resolver o problema.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow