Laravel Gmail无法呈现我的邮件图像

hyrbngr7  于 2023-03-31  发布在  其他
关注(0)|答案(2)|浏览(127)

我试图发送电子邮件给用户,但由于某种原因,我的图像没有渲染,我得到:

。当我尝试在Gmail中Inspect Element时,我的图像src不正确:

https://ci5.googleusercontent.com/proxy/BAKUQWuXu4XR7w4v6hboZ0E9LQlwspSfcV4K1tkK6rgoPeQrt0b0J-Q2ndKdbTAV5-XJa4yrVHuTKpBy24_Q-QWt7PnLFY0VanfclSmZrTgg=s0-d-e1-ft#http://test.com/images/email_upload/my-image.png

正确的URL:

http://test.com/images/email_upload/my-image.png

这是我的模板:

<a href="#" style="color: #4cb2e1; font-weight: lighter; text-decoration: none">
    <img src="{{ asset('images/email_upload/my-image.png') }}" width="150" height="50" style="margin-left: 20px; margin-right: 12px" align="left">
</a>

P.S. I using Laravel mailable.

wvt8vs2t

wvt8vs2t1#

这是Gmail的一项“功能”;它们会预先缓存从电子邮件中引用的图片,并重写URL,使其指向自己的副本,据称这是一种减少负载和阻止跟踪像素的方法。为了确保您实际发送的内容是正确的,您可以在非gmail地址发送BCC,然后比较收到的邮件结果,以查看gmail到底发生了什么变化。
一个基本的问题是,你似乎没有通过HTTPS提供图像;现在大多数人都认为这是一个bug。
这样做的一个副作用是,接收到的消息不能为DKIM进行“reverified”,这至少部分地破坏了DKIM的意义。
this excellent answer中有关于这个问题的进一步讨论,以及其他人对这个问题的回答。不幸的是,共识似乎是谷歌的图像缓存系统有缺陷,但就gmail而言,这并不是什么新鲜事。

i2loujxw

i2loujxw2#

请尝试此嵌入方法embed(public_path('/images/logo.svg'))}}"〉

相关问题