如何在浏览器中显示多部分 MIME

Posted

技术标签:

【中文标题】如何在浏览器中显示多部分 MIME【英文标题】:How to display multi-part MIME in a browser 【发布时间】:2015-03-24 16:29:17 【问题描述】:

我正在使用 REST 服务从 Domino 服务器获取电子邮件消息。响应是 JSON 格式并包含许多 MIME 部分。

我目前的方法是找到text/html 部分并解析它以查找img 带有src="cid:... 的标签。然后,我在其他 MIME 部分中搜索 cid 并插入图像数据。然后将结果传递给浏览器。

我想知道是否有更聪明的方法来做到这一点。是否可以将 MIME 部分打包成浏览器将执行 cid: 替换?

更新 有人将此问题标记为过于宽泛。你想多说一点吗?我认为这个问题非常具体。如果 MIME 部分被适当地打包到 HTML 中,我想知道标准浏览器是否有能力查找 cid 引用。这将节省我自己尝试解析 HTML 的工作——这是大多数浏览器都非常擅长的工作!

【问题讨论】:

在网络浏览器中显示 HTML 格式的电子邮件时要非常非常小心。电子邮件客户端阻止 javascript 并限制 CSS(其中可以嵌入 JS)。您不希望将电子邮件发送到您的网络邮件系统,从而使攻击者能够在您的域下运行 JS。 【参考方案1】:

是否可以以浏览器执行 cid: 替换的方式打包 MIME 部分?

没有。您必须在服务器上执行此操作。

如果您想将所有内容保存在一个响应中,可以将它们替换为 data: URI。

【讨论】:

以上是关于如何在浏览器中显示多部分 MIME的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SMTP 的多部分 MIME 消息中使用 8 位编码?

在 MIME 多部分消息中显式指定边界?

在 javax.mail api 中为 mime 多部分/相关消息的内容类型设置“开始”属性

如何返回多部分 MIME 类型的消息

在 Python 中用二进制数据编码 MIME 多部分?

如何使用 POP3 和 SmtpClient 转发多部分 MIME 电子邮件?