为什么 Gmail 无法查看 URL 来自 Google 图表的图片?

为什么 Gmail 无法查看 URL 来自 Google 图表的图片?

这是从 Google 图表 API 生成的图像。 图像

生成图片的url是:

http://chart.apis.google.com/chart?chxl=0:|day|1:|installs&chxp=0,3|1,6072&chxr=0,0,6|1,0,12145&chxs=0,676767,11.833,0,lt,676767|1,676767,12.833,-0.333,lt,676 767&chxt=x,y&chs=400x200&cht=lxy&chds=0,6,0,12145&chd=t:1,2,3,4,5,6|768,2850,6498,10948,12145,0&chdl=安装&chdlp=b&chls=1&chma=5,5,5,1&chtt=每日安装次数

如果 HTML 电子邮件中包含此图像,GMail 将不会(无法)显示该图像。
(例如,通过 gmail smtp 生成并以编程方式发送电子邮件,或使用 gmail 实验室图像插入功能等)

为什么?这是错误吗?我是否遗漏了有关电子邮件中使用的 HTML 的 URL 编码的一些信息?

答案1

这确实很奇怪。我可以用你提到的实验室功能来确认这种行为。

我不太了解电子邮件编码,但结果消息似乎正确——你可以参见此要点但在 Gmail 中无法正确显示。当我在 Gmail 中对非图像执行“检查元素”时,该<img>元素似乎具有titlealt属性,但没有src。您是否尝试过在其他电子邮件客户端中查看它?

这确实看起来像是一个错误。我建议在 Gmails 的帮助论坛上提出这个问题。虽然 GOOG 本身并没有特别的响应,但您可能会找到其他对此问题有更多了解的人。

不过,似乎可行的解决方法是预先缩短 URL。我用 TinyURL 和 Goo.gl 测试了它,效果很好,至少在 Gmail 中查看时是这样(顶部消息是完整 URL,底部是 Goo.gl 缩短的 URL:

缩短

抱歉,这不是您问题的完整答案,但我希望它有所帮助。

答案2

我们在 WizVille 遇到了同样的问题,并且认为我们找到了发生这种情况的原因:图表 API 返回以“//”开头的 URL,该 URL 应该被解释为“http://”,但某些电子邮件客户端(例如 gmail)却不这样做。

解决方案是在 Google Charts 返回的图表 URL 之前指定协议,即“http:”。瞧!

:-)

相关内容