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

Java 电子邮件中html正文中的嵌入图像(内联)显示为附件,java,jakarta-mail,Java,Jakarta Mail,我已经成功地在html电子邮件中添加了一个图像(徽标)。 不过它也显示了下载附件等图片的链接。在yahoo mail中,附件中提供的所有图像 我的资料如下: <html> <body> <img src="cid:mylogo.png" /> <table> . . . </table> </bo

我已经成功地在html电子邮件中添加了一个图像(徽标)。 不过它也显示了下载附件等图片的链接。在yahoo mail中,附件中提供的所有图像

我的资料如下:

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

.
.
.
Multipart Multipart=新的MimeMultipart();
MimeBodyPart imagePart=新的MimeBodyPart();
DataSource ds=新文件数据源(“D:/temp/mylogo.png”);
setDataHandler(新的DataHandler(ds));
setHeader(“内容ID”,即“”);
imagePart.setDisposition(Part.INLINE);
multipart.addBodyPart(imagePart);

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

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


相反,将您的图像上传到web上的某个地方,并将您的
src
更改为其URL。(示例:
)。

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

除了URL之外,还有其他方法吗?