Gmail中图片无法显示 - 使用django python-postmark

3
我使用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">

正确的图片URL应该是 https://mysite_here.com/static/img/img.png 还是 https://mysite_here.com/img/img.png?当您在浏览器中输入Gmail图片源地址时会发生什么?我猜会出现“404未找到”错误。 - aneroid
  1. 当您在Gmail中单击“显示图片”时,之后会加载吗?
  2. 之前的问题:当您在浏览器中输入Gmail图像源地址时会发生什么?
- aneroid
  1. 不,我已经确认该选项已启用。
  2. 同样不行,只有在删除前置代理URL后才会显示。
- Christopher
取决于他们如何阻止 - 他们可以使用任何他们喜欢的错误代码。我希望你不是在你的网站和 img.png 在“localhost”上运行时尝试这个。 - aneroid
它已经托管了,而且是在https上。 - Christopher
显示剩余3条评论
2个回答

1
我正在测试python SimpleHTTPServer时,Gmail请求图像,就像在这篇文章中建议的那样: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。

0

就我个人而言,我通过在图像源URL中写出<img src="https://..">来解决了这个问题。由于某种原因,如果仅写入<img src="//domain.com">,Postmark无法正确传递图像。我不确定为什么会出现这种情况,但是添加https对我很有帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接