【问题标题】:.eml preview with images in html body.eml 预览与 html 正文中的图像
【发布时间】:2020-01-03 11:17:19
【问题描述】:

上下文

我正在开发 .eml 文件的预览器,但在显示 html 正文中的图像时遇到了一些问题。

实际解决方案

我可以得到如下的 html 正文:

MimeMessage mimeMessage = MimeMessageUtils.createMimeMessage(null, file);
MimeMessageParser parser = new MimeMessageParser(mimeMessage);
body = parser.parse().getHtmlContent(); 

但这是结果:

html:

...
<font size="2" face="sans-serif">Thanks</font><br>
<font size="2" face="sans-serif">Enry</font><br>
<font size="2" face="sans-serif"><br>
</font><br>
<img src="cid:0__=4EBB0EF7DFBA71E78f9e8a93df93869091@local" width="253" height="120">

这是.eml:

...
<font size="2" face="sans-serif">Thanks</font><br>
<font size="2" face="sans-serif">Enry</font><br>
<font size="2" face="sans-serif"><br>
</font><br>
<img src="cid:0__=4EBB0EF7DFBA71E78f9e8a93df93869091@local" width="253" height="120"></body></html>
--0__=4EBB0EF7DFBA71E78f9e8a93df938690918c4EBB0EF7DFBA71E7
Content-type: image/gif; 
    name="02430556.gif"
Content-Disposition: inline; filename="02430556.gif"
Content-ID: <0__=4EBB0EF7DFBA71E78f9e8a93df93869091@local>
Content-transfer-encoding: base64

R0lGODdh/QB4AOf/AAABAAEEAAMGAQcJBQoMCAwPCw8RDhIUERQVExUXFRcZFxobGRwdGx8hHiIk
IScoJiosKUclJCwtKygwLC0vLDAxLykzNCszLzEzMS02NDQ1Mzk1NFwsMDY3NTs2NVUvMWsqLEA2
Nzc5NkU1Nzg5N18vMUg2NDk7OHcqK002NU84Nzw+O1o2NFU3OXMvMogrLj5APVw4PGI3OGc2OYUv
LWk3NUFCQIIwNJEsMpMtLlI/PXA3OHU2OUdDQXs1Nnc3NZstMkRGQ1lBQE5ERF5AQaQtMG48PUZI
RWs/QK0tNIc4OJM1NmFDRE1JSElLSI84OqIzN5s1OWpEREtNSrgvNVxJR5c5OVdMTKw1Nqs1O05P
TbQ0NKY4OlRPTrwzOFBRT7U2O8QzNr82OqQ+QW1NT1NVUsY1PZ9AQ8g2OH5KTdA0Ns80O3NOUWZS
UIpIS9kzNF9UVZtERYZKSuExOFZYVdk0OnhPTtM3ONs1O+MzOd03Pd44N1tcWmVaW985PmBcW11e
XI5SUolUVl9hXnVcW3tbXINZWmNlYl1oaWplZHVjZnFlZmdoZoNjZHlmZmpraGxua4JoZ25wbrFe...

问题

有人知道我应该怎么做才能正确显示图像吗?

【问题讨论】:

    标签: java email jakarta-mail eml


    【解决方案1】:

    html 内容将使用“cid:”和 Content-ID 而不是“http:”引用图像。您需要一种方法来将这些 URI 解析为邮件的相应部分,或者您需要重写 html 内容以使用您自己选择的新 URL,您可以安排这些 URL 来解析邮件的各个部分。

    【讨论】:

    • 是的,我正在寻找的是将 src 替换为 base 64 内容。仍然找不到如何...
    • 尝试jsoup或其他一些库来解析和重写html。
    猜你喜欢
    • 2015-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-25
    相关资源
    最近更新 更多