2016-07-07 55 views
1

除了在iPhone上添加圖像作爲MimeBodyPart.INLINE時,附件顯示效果良好,使用javamail將附加圖像作爲簽名的最佳方式是什麼? 如果我刪除 「imagePart」,所有其他的附件做工精良當使用Javamail附加嵌入式圖像時,無法讀取iphone附件

我用:

MimeMessage m = new MimeMessage(session); 
    MimeMultipart content = new MimeMultipart("related"); 

    // ContentID is used by both parts 
    String cid = ContentIdGenerator.getContentId(); 

    // HTML part 
    String textPartSaine = Tools.convertSymbolToUTF8(emailContenu, true); 
    MimeBodyPart textPart = new MimeBodyPart(); 
    textPart.setText("<html><head>" 
    + "<title></title>" 
    + "</head>\n" 
    + "<body>" 
    + "<div>"+ textPartSaine.replaceAll("\n", "<BR/>") +"</div><BR/><BR/>" 
    + "<div><img src=\"cid:" 
    + cid 
    + "\" /></div><BR/><BR/>" + "</body></html>", 
    "US-ASCII", "html"); 
    content.addBodyPart(textPart); 

    // Image part 
    if(signature != null && signature.exists()){ 
     MimeBodyPart imagePart = new MimeBodyPart(); 
     imagePart.attachFile(signature); 
     imagePart.setContentID("<" + cid + ">"); 
     imagePart.setDisposition(MimeBodyPart.INLINE); 
     content.addBodyPart(imagePart); 
    } 

    if(fichiers != null && fichiers.length > 0) { 
     for(i = 0; i < fichiers.length; i++) { 
      partie = new MimeBodyPart(); 
      partie.attachFile(fichiers[i]); 
      content.addBodyPart(partie); 
     } 
    } 

感謝

回答

0

解決 多/混合(將包含文本和附件) 多/替代(威爾包含文本和HTML) multipart/related(HTML +嵌入圖像) image1(Content-Id:xxx) image2 ... 附件1 附件2 ...