【问题标题】:inline image in html, base64, doesn't appear in gmail (but does in thunderbird)html 中的内联图像,base64,不会出现在 gmail 中(但会出现在 Thunderbird 中)
【发布时间】:2013-08-21 02:51:57
【问题描述】:

我正在从我的 gmail 帐户发送电子邮件。

我正在寻找最安全的跨客户端方式来发送内联消息,以便所有消息都显示内联图像。

在通过电子邮件发送带有内嵌图像的 html 时会出现问题:并非所有客户端/网络邮件都显示图像。我正在寻找一种针对客户或特定于客户的方法。

我正在使用 python,我可以控制标题和内容类型等。

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot" />

<div style="width: 80px; height: 80px; background:
url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAA
AAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==' ) no-repeat" />

使用以下 html 代码,图像是/不显示...:

  • Thunderbird 桌面客户端:一直显示
  • gmail 网络邮件:从未显示
  • yahoo webmail:通常
  • hotmail 网络邮件:很少
  • firefox + chrome - 作为 url:始终显示

我不知道它何时有效,何时无效(除了明显的语法或编码错误)。

到目前为止我做了什么:

  • 尝试浏览器 URL(如上所述 - 它总是显示图像)
  • 在所有这些客户端/网络邮件中打开“显示图像”
  • 在所有这些客户端/网络邮件中打开“显示来自 xxxx 的图像”
  • 已通过“查看消息来源”(或 gmail 的“显示原文”)确认 - 图片代码通常在那里。
  • 从“查看源代码”和verified in js fiddle复制了相同的代码
  • 添加了“utf-8”编码
  • 我尝试使用文件附件而不是内联 base64 url​​ 发送图像。这种方法还有其他问题。
  • 以 UTF-8 格式发送 html 消息
    msgpart = MIMEText(body_html, "html", "utf-8")

  • 通过几个选项更改了消息类型.. 现在是 MIMEMultipart("alternative") - 也许我应该使用另一种格式?

  • 尝试使用 CSS 表示法和 IMG SRC 表示法(见上文)。并非始终支持 CSS 版本。

(以上示例取自维基百科)

甚至可以将此行放在浏览器的 URL 中 - 它可以工作 - 即显示图像

gmail smpt 是否需要特殊参数?参数?

我猜如果邮件在 Thunderbird 中显示,它可能是正确发送的。

也许

【问题讨论】:

    标签: python email gmail email-attachments


    【解决方案1】:

    据我所知,没有关于邮件用户代理(即您的邮件阅读器)必须如何处理内联图像的规则。测试中的“通常”结果是最令人不安的。

    这不是您发送它们的方式,而是读者选择呈现它的方式。图形繁重的电子邮件具有click here to view as a web page 链接是有原因的,因为变化太多。我建议使用这条路线,或者只是将它们制作成多部分的 mime 附件,而忘记尝试可靠地内联它们。

    【讨论】:

    • 是的,我最终放弃了,转而使用 url 来存储在服务器上的图像 + 向用户发送他们应该“显示图像”的消息。
    • @BerryTsakala 我也放弃了,图像如何存储在服务器上并链接以显示在 body html 上?谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-25
    • 2021-01-15
    • 2017-11-20
    • 2013-09-01
    • 2016-07-31
    • 2014-04-22
    • 1970-01-01
    相关资源
    最近更新 更多