【问题标题】:Gmail email received by PHP API not showing embaded imagePHP API 收到的 Gmail 电子邮件未显示嵌入的图像
【发布时间】:2016-10-04 10:25:40
【问题描述】:

我收到带有嵌入图像的 HTML 电子邮件,并且图像在 GMail 中按预期显示。但是在我的 html 中找不到图片

以下屏幕截图显示邮件正文和检查元素中的损坏图像

<img src="cid:image002.png@01D1BDB3.A9B852C0" v:shapes="_x0000_i1025" height="1227" width="1168">

内容类型:多部分/相关。

【问题讨论】:

  • 您可以尝试查看tutorial,了解如何在电子邮件中嵌入图像。它在这里解释了如何使用 CID 嵌入图像(内联图像)和内联嵌入(Base64 编码)来做到这一点。在这里你也可以知道两者的优缺点。此外,它还有一个示例代码,可以作为查看者的指南。另请查看SO question 了解更多信息。
  • 我想通过邮件接收图片,我不想发送邮件
  • 你找到解决办法了吗?

标签: php google-api gmail gmail-api gmail-imap


【解决方案1】:

就像您自己说的那样,您收到的是 multipart/related mime 类型,但看起来您只是在查看 text/html 部分。

multipart/related mime 类型意味着至少有 2 个部分(每个部分都有自己的 mime 类型),因此除了 text/html,可能还有 image/* mime 类型部分。

对于嵌入图像,Gmail API 会在这些不同的部分发送它。如您所见,html 部分引用了嵌入图像cid:image002.png@01D1BDB3.A9B852C0,这是image/* mime 类型部分的Content-ID 值。

因此,您必须阅读 image/* 部分以获取其值并使用它来替换 html 中的 cid

【讨论】:

    猜你喜欢
    • 2017-06-11
    • 1970-01-01
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    • 2012-07-28
    • 1970-01-01
    • 2011-11-09
    • 2017-10-26
    相关资源
    最近更新 更多