2009-11-30 4 views
1

저는 아파치 commons-mail에서 org.apache.commons.mail.HtmlEmail 클래스를 사용하고 있습니다. 결국 일부 사용자는 전자 메일 클라이언트에 전자 메일이 표시되지 않는다고 불평합니다 (Outlook 2007 및 Lotus Notes에서보고 된 문제).첨부 파일 + commons-email로 생성 된 Html이 일부 이메일 클라이언트에 표시되지 않습니다.

한 사용자도 문제를 분석하고 나에게 다음 링크를 보낸 : 내가 읽고

http://support.microsoft.com/kb/961940

을 그 다른 사람 : 때문에이 문제에 원시 javax.mail의 API로 전환했다.

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 
} 

전에 누군가를 경험 한 적이 :

여기에 파일을 첨부 코드의 일부?

미리 감사드립니다.

Jonathas는

답변

2

은 평민 - 이메일 버전 1.1에 문제가 있다고 보인다. 1.2로 업그레이드하면 문제가 해결되는 것 같습니다.