使用Javamail附加内嵌图像时,无法从iphone读取附件

时间:2016-07-07 12:33:29

标签: java iphone javamail attachment

当我将图像添加为MimeBodyPart.INLINE时,附件显示在iphone上除外,使用javamail将图像附加为签名的最佳方法是什么? 如果我删除" imagePart",则所有其他附件都可以正常使用

我用过:

    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);
        }
    }

由于

1 个答案:

答案 0 :(得分:0)

解决 multipart / mixed(将包含文本和附件)   multipart / alternative(将包含文本和HTML)     multipart / related(HTML +嵌入图像)       image1(Content-Id:xxx)       图像2 ...   附件1   附件2 ...