图片未显示在 Gmail 中 - 使用 django python-postmark
Posted
技术标签:
【中文标题】图片未显示在 Gmail 中 - 使用 django python-postmark【英文标题】:Image not showing in Gmail - Using django python-postmark 【发布时间】:2019-03-29 17:28:23 【问题描述】:我使用 django python-postmark 进行邮寄。现在我的问题是我的静态图片没有显示在 Gmail 上。 Gmail 会在图像的 src 前添加一个 url 代理。如果删除了前置 url 代理,图像将完美显示。我在这里想念什么?或者我该如何解决这个问题?谢谢
这些是我的图像代码。这应该导致 src="https://mysite_here.com/static/img/img.png"
% load static %
% load custom_tag %
<img src="% site_url %% static 'img/img.png' %">
但是在 gmail 上显示时,现在会附加 src,这会导致图像不显示。以下是 gmail 生成的内容:
<img src="https://ci3.googleusercontent.com/proxy/rYDcSW7inrn8_vlXhcrSojT1T06pKEKyrzmXgb5cje_JCc9ze25emLbFDuBub3CWP_ASqgUXbqn6RureN5Fy0Nd-eFdllL14aq16UQ_rXrB4-dWp=s0-d-e1-ft#https://mysite_here.com/static/img/img.png" class="m_-186473825407072632logo CToWUd">
【问题讨论】:
正确的 img URL 应该是https://mysite_here.com/static/img/img.png
还是 https://mysite_here.com/img/img.png
?在浏览器中输入 gmail img src 地址会发生什么?我猜是“找不到 404”。
正确的 url 应该是 https://mysite_here.com/static/img/img.png
.. 问题是 gmail 在正确的 url 前面添加了一个代理 url...如果我手动删除前面的代理 url,它不会显示任何问题(https://mysite_here.com/static/img/img.png
)。
1.当您在 Gmail 中单击“显示图片”时,它会在那之后加载吗? 2.从前:在浏览器中输入gmail img src地址会发生什么?
1.不,我已经勾选了该选项。 2.也没有,它只显示我是否删除了前置代理网址。
看起来像您的网站托管公司。可能会阻止来自googleusercontent.com
的请求。与他们核实。
【参考方案1】:
我正在测试 Gmail 使用 python SimpleHTTPServer 请求图像时,正如这篇文章中所建议的:https://blog.filippo.io/how-the-new-gmail-image-proxy-works-and-what-this-means-for-you/ 并意识到实际上已经到达了图像。
问题是我提供的是 .svg 图片。通过阅读另一个问题,我意识到这是错误:https://webmasters.stackexchange.com/questions/123969/images-from-googleusercontent-com-giving-404。
一旦我将图像替换为 .png 和 .jpg,它就开始工作了。
希望这可以提供一些启示。我真的不知道为什么 Gmail 不能处理 .svg
【讨论】:
【参考方案2】:就我个人而言,我通过在图像源 URL 中写出 <img src="https://..">
解决了这个问题。出于某种原因,如果只是写<img src="//domain.com">
,邮戳将无法正确交付图像。我不确定为什么会中断,但添加 https
为我解决了这个问题。
【讨论】:
以上是关于图片未显示在 Gmail 中 - 使用 django python-postmark的主要内容,如果未能解决你的问题,请参考以下文章
HTML 图像未显示在通过 VBA 中的 Gmail API 发送的 MIME 消息中,使用 3D