如何阻止电子邮件中的嵌入式图像通过GMail以附件形式显示?


问题内容

我正在发送带有嵌入式图像(作为附件)的HTML电子邮件,并且图像在GMail中按预期显示。但是,它们也显示为电子邮件下的附件。有谁知道如何避免这种情况,即我只希望它们在电子邮件中而不被列为附件。我用过“
Content-Disposition:内联”。我正在使用Spring和JavaMail。

这就是我的邮件最终的样子。谁能看到什么错?

Delivered-To: ...
...
Subject: ...
MIME-Version: 1.0
Content-Type: multipart/mixed; 
    boundary="----=_Part_0_1248835444.1288246311187"

------=_Part_0_1248835444.1288246311187
Content-Type: multipart/related; 
    boundary="----=_Part_1_592250078.1288246311197"

------=_Part_1_592250078.1288246311197
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

<html>
<body>
<p><img src="cid:a0"/></p>
</body>
</html>
------=_Part_1_592250078.1288246311197
Content-Type: image/x-png
Content-Transfer-Encoding: base64
Content-Disposition: inline
Content-ID: <a0>

iVBORw0KGgoAAAANSUhEUgAAAPAAAABQCAYAAAAnSfh8AAAACXBIWXMAAC4jAAAuIwF4pT92AAAA
...
Qcz8hzyUxqGHjkNbsY4Df5iBg6OIwafQHBxFjP8PAIwl43uhncLdAAAAAElFTkSuQmCC
------=_Part_1_592250078.1288246311197--

------=_Part_0_1248835444.1288246311187--

问题答案:

通过执行以下步骤,可以从GMail中获取此类邮件正文:

  1. 在Gmail实验室中启用“通过Kent T插入图像”
  2. 写一封邮件并将图像嵌入到邮件中
  3. 发邮件给自己
  4. 打开邮件。在右上角,向下箭头按图片(在“回复”附近),然后按“显示原始图片”。在那里您将找到此类邮件的示例。

我这样做并得到以下结果,其中图像未列为附件。也许此邮件正文可帮助您使用Spring和JavaMail创建适当的邮件:

MIME-Version: 1.0
...
Subject: ...
From: ...
To: ...
Content-Type: multipart/related; boundary=000e0cd62fb69a9c280493a7a1c0

--000e0cd62fb69a9c280493a7a1c0
Content-Type: multipart/alternative; boundary=000e0cd62fb69a9c250493a7a1bf

--000e0cd62fb69a9c250493a7a1bf
Content-Type: text/plain; charset=ISO-8859-1

[image: abc.png]

--000e0cd62fb69a9c250493a7a1bf
Content-Type: text/html; charset=ISO-8859-1

<img src="cid:ii_12bf191c5eab934e" alt="abc.png" title="abc.png"><br>

--000e0cd62fb69a9c250493a7a1bf--
--000e0cd62fb69a9c280493a7a1c0
Content-Type: image/png; name="abc.png"
Content-Transfer-Encoding: base64
Content-ID: <ii_12bf191c5eab934e>
X-Attachment-Id: ii_12bf191c5eab934e

iVBORw0KGgoAAAANSUhEUgAAAJ4AAADLCAIAAAAQpL1oAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA
...