【问题标题】:Display Inline Images in HTML EMail Django在 HTML 电子邮件 Django 中显示内联图像
【发布时间】:2014-12-05 22:46:21
【问题描述】:

我在发送 HTML 电子邮件时尝试在 Djano 中内嵌显示图像。我有 HTML 电子邮件工作。但是图像显示为附件,我按照https://www.vlent.nl/weblog/2014/01/15/sending-emails-with-embedded-images-in-django/ 中的步骤将图像显示为附件。我不想要。我希望图像内联显示。

在我的 Django 模板中,我有:

<img src="/static/url/location/image.png" />

urls.py 有正确的设置。当我去:

http://localhost:8000/static/url/location/image.png 

我可以清楚地看到图像。

发送电子邮件时,图像不显示,我不知道为什么。任何帮助都将不胜感激。

我正在使用 Django 1.6.2 顺便说一句。

编辑:实现了下面给出的关于使用绝对 URL 的建议。 我确实尝试了绝对 URL。奇怪的部分是:当我使用其他网站的绝对网址时,例如:

<img src="google.com/images/srpr/logo11w.png"; />  

图像内嵌显示。当我在本地服务器上使用图像的绝对 url 位置时,图像不显示:-(。不知道我还缺少什么。

【问题讨论】:

  • HTML 电子邮件中的图片需要使用绝对 URL。

标签: python django html-email


【解决方案1】:

您可能需要服务器上图像的绝对 URL。据我所知,无法在电子邮件中引用相关图像。

您可以对当前主机的绝对 URL 执行此操作:

<img src="{{ request.get_host }}/static/url/location/image.png" />

您也可以从使用{% static %} 标签中受益,(如果您正确配置了静态文件)如下:

<img src="{{ request.get_host }}{% static 'url/location/image.png' %}" />

【讨论】:

  • 嗨!感谢您的帮助。我确实尝试了绝对 URL。奇怪的部分是:当我使用其他网站的绝对网址时,例如: google.com/images/srpr/logo11w.png" /> ,图像内联显示。当我在本地服务器上使用图像的绝对 url 位置时,图像不显示:-(。不知道我还缺少什么。
  • 您的电子邮件客户端必须无法连接到您的本地服务器。我想不出别的了。你能确认图片标签中的url是正确的吗?
  • 嗨,是的,我在模板中打印了实际的 url 值,以确保它是正确的 URL。我认为您对电子邮件客户端无法访问 url 的看法是正确的。看起来我必须将图像上传到公共服务器上才能在电子邮件中显示。
猜你喜欢
  • 1970-01-01
  • 2020-08-20
  • 2014-12-24
  • 1970-01-01
  • 2011-08-06
  • 2019-02-02
  • 2011-04-03
  • 1970-01-01
  • 2011-06-08
相关资源
最近更新 更多