这是从 Google 图表 API 生成的图像。
生成图片的url是:
如果 HTML 电子邮件中包含此图像,GMail 将不会(无法)显示该图像。
(例如,通过 gmail smtp 生成并以编程方式发送电子邮件,或使用 gmail 实验室图像插入功能等)
为什么?这是错误吗?我是否遗漏了有关电子邮件中使用的 HTML 的 URL 编码的一些信息?
答案1
这确实很奇怪。我可以用你提到的实验室功能来确认这种行为。
我不太了解电子邮件编码,但结果消息似乎正确——你可以参见此要点但在 Gmail 中无法正确显示。当我在 Gmail 中对非图像执行“检查元素”时,该<img>
元素似乎具有title
和alt
属性,但没有src
。您是否尝试过在其他电子邮件客户端中查看它?
这确实看起来像是一个错误。我建议在 Gmails 的帮助论坛上提出这个问题。虽然 GOOG 本身并没有特别的响应,但您可能会找到其他对此问题有更多了解的人。
不过,似乎可行的解决方法是预先缩短 URL。我用 TinyURL 和 Goo.gl 测试了它,效果很好,至少在 Gmail 中查看时是这样(顶部消息是完整 URL,底部是 Goo.gl 缩短的 URL:
抱歉,这不是您问题的完整答案,但我希望它有所帮助。
答案2
我们在 WizVille 遇到了同样的问题,并且认为我们找到了发生这种情况的原因:图表 API 返回以“//”开头的 URL,该 URL 应该被解释为“http://”,但某些电子邮件客户端(例如 gmail)却不这样做。
解决方案是在 Google Charts 返回的图表 URL 之前指定协议,即“http:”。瞧!
:-)