嵌入图像(内联)在电子邮件中的html正文中显示为附件

时间:2015-03-31 08:48:38

标签: java javamail

我已在html电子邮件中成功添加了图像(徽标)。 然而,它还显示链接下载此类图像作为附件。在雅虎邮件中附件中提供的所有图像

我的内容如下,

<html>
    <body>
        <img src="cid:mylogo.png" />
        <table>
            .
            .
            .
        </table>
    </body>
</html>

 Multipart multipart = new MimeMultipart();
 MimeBodyPart imagePart = new MimeBodyPart();
 DataSource ds = new FileDataSource("D:/temp/mylogo.png");
 imagePart.setDataHandler(new DataHandler(ds));
 imagePart.setHeader("Content-ID", "<mylogo.png>");
 imagePart.setDisposition(Part.INLINE);
 multipart.addBodyPart(imagePart);

当我在像yahoo和gmail这样的电子邮件客户端中打开生成的邮件时,图像显示为我所期望的,但它也显示为附件。如何禁用下载此类图像?

2 个答案:

答案 0 :(得分:0)

执行此操作时,图像将作为附件发送,因此它将显示为附件。您无法阻止此操作,因为您对邮件客户端没有任何控制权。

相反,请将您的图片上传到网络上的某个位置,然后将src更改为其网址。 (例如:<img src="http://example.com/mylogo.png" />)。

答案 1 :(得分:0)

这在移动邮件客户端上是正常的,他们这样做,以便人们可以在手机上下载邮件嵌入图像。如果您在计算机上打开它,图像将不会显示为附件。