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

Foi útil?

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
scroll top