【问题标题】:Render image src with URL variable and send as an email使用 URL 变量渲染图像 src 并作为电子邮件发送
【发布时间】:2014-03-17 04:06:06
【问题描述】:

我想在 Twig 模板中做这样的事情:

<img src="{{ img_path }}/logo.jpg" />

并使用mailer 函数(不是mailto)发送。

{{ img_path }} 是正确的,因为如果我添加:

<p>{{ img_path }}</p>

显示正确 (http://siteURL/img)。如果我添加 /logo.jpg 并将其放在 URL 上,我就会得到图像。

但在电子邮件中,图片src 属性是 Google 网址(我使用 Gmail 发送)和之后的所需网址(https://ci5.googleusercontent.com/proxy/somecharacters#http://siteURL/img/logo.jpg),所以图片没有显示。

知道这里发生了什么以及如何解决它吗?

【问题讨论】:

  • 我忘了说我正在使用我的本地主机。这可能是问题所在。
  • 您可能正在使用相对路径。相反,请尝试将 {{ img_path }} 设置为绝对 URL。
  • @dward - 这不是相对路径,但可能是因为我在本地主机上工作,而 Google 无法访问它,因为我在一些电子邮件中看到了更多具有类似 URL 的图像.
  • 也许可以尝试安装一个本地邮件捕获器,比如 smtp4dev,看看是否可以在本地捕获邮件并查看它是否正常工作(或有不同的结果)。您会认为如果 URL 是绝对的,那么它将显示为“localhost”。此外,您可以检查您的打开/关闭标签以及您的应用程序中的任何连接字符串。

标签: html image email symfony twig


【解决方案1】:

最近(2013 年 12 月)Gmail 启动 caching all images。这是一个权衡,因为现在默认加载图像,但它们由 Google 的代理服务器托管,而不是您的原始 URL。

听起来这种缓存也适用于您的出站电子邮件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-15
    • 1970-01-01
    相关资源
    最近更新 更多