电子邮件模板中的图像 url 发生变化,图像无法正确显示
Image url inside an email template changes and the image does not show properly
我创建了以下电子邮件模板,并使用 SendGrid 从我的网站(ASP.NET MVC、C#)向客户发送电子邮件。请注意,电子邮件末尾有一个信封图标。
<!DOCTYPE html>
<html>
<head></head>
<body>
<p>Some email content</p>
<hr/>
<p>reply info: </p>
<p>
<img src='https://prod-shopless-cdn.s3-ap-southeast-2.amazonaws.com/icons/email-icon.svg' alt='email' height='20' style='vertical-align: middle; padding-right: 5px;'>
<a rel='nofollow' ymailto='mailto:john@some-domain.com' href='mailto:john@some-domain.com'>john@some-domain.com</a>
</p>
</body>
</html>
当我将电子邮件发送到雅虎地址时,我看到图像前面添加了以下内容 url:https://ecp.yusercontent.com/mail?
但图像仍然显示正常:
<p>
<img src="https://ecp.yusercontent.com/mail?url=https%3A%2F%2Fprod-shopless-cdn.s3-ap-southeast-2.amazonaws.com%2Ficons%2Femail-icon.svg&t=1577343946&ymreqid=eab30077-9a08-b7e9-1c70-820001015100&sig=idgsn8ycGFqhWibk5cnXTQ--~C" alt="email" height="20" style="vertical-align:middle;padding-right:5px;">
<a rel="nofollow" ymailto="mailto:john@some-domain.com" target="_blank" href="mailto:john@some-domain.com">john@some-domain.com</a>
</p>
当我将电子邮件发送到 Gmail 帐户时,我看到以下内容已添加到图片 url:https://ci5.googleusercontent.com/proxy/fMePoJvSwECei02DF_cx9SKczcRDRDa9XeJs263AGBRUysoCNxeZhErF834cSHBLcBGkDR-JWdfqhZkW878P9A3gM7nh8dRfdNxjVpBrGiNBBJCoRnNmBrkSAoF-TBu3IQ=s0-d-e1-ft#
并且图片不再显示。
<p>
<img src="https://ci5.googleusercontent.com/proxy/fMePoJvSwECei02DF_cx9SKczcRDRDa9XeJs263AGBRUysoCNxeZhErF834cSHBLcBGkDR-JWdfqhZkW878P9A3gM7nh8dRfdNxjVpBrGiNBBJCoRnNmBrkSAoF-TBu3IQ=s0-d-e1-ft#https://prod-shopless-cdn.s3-ap-southeast-2.amazonaws.com/icons/email-icon.svg"
alt="email" height="20" style="vertical-align:middle;padding-right:5px" class="CToWUd">
<a rel="nofollow" href="mailto:john@some-domain.com" target="_blank">john@some-domain.com</a>
</p>
我该如何解决这个问题?
Yahoo 和 Gmail 上的图像 URL 发生变化是因为它们使用了图像缓存,有关 Gmail Image Proxy
的更多信息
我找到了我的问题的答案 here,似乎 Google 图像代理适用于标准图像类型(.jpg
、.png
和 .gif
)...我的图像类型是 .svg
,我将模板更改为使用 .png
,现在它工作正常。
我创建了以下电子邮件模板,并使用 SendGrid 从我的网站(ASP.NET MVC、C#)向客户发送电子邮件。请注意,电子邮件末尾有一个信封图标。
<!DOCTYPE html>
<html>
<head></head>
<body>
<p>Some email content</p>
<hr/>
<p>reply info: </p>
<p>
<img src='https://prod-shopless-cdn.s3-ap-southeast-2.amazonaws.com/icons/email-icon.svg' alt='email' height='20' style='vertical-align: middle; padding-right: 5px;'>
<a rel='nofollow' ymailto='mailto:john@some-domain.com' href='mailto:john@some-domain.com'>john@some-domain.com</a>
</p>
</body>
</html>
当我将电子邮件发送到雅虎地址时,我看到图像前面添加了以下内容 url:https://ecp.yusercontent.com/mail?
但图像仍然显示正常:
<p>
<img src="https://ecp.yusercontent.com/mail?url=https%3A%2F%2Fprod-shopless-cdn.s3-ap-southeast-2.amazonaws.com%2Ficons%2Femail-icon.svg&t=1577343946&ymreqid=eab30077-9a08-b7e9-1c70-820001015100&sig=idgsn8ycGFqhWibk5cnXTQ--~C" alt="email" height="20" style="vertical-align:middle;padding-right:5px;">
<a rel="nofollow" ymailto="mailto:john@some-domain.com" target="_blank" href="mailto:john@some-domain.com">john@some-domain.com</a>
</p>
当我将电子邮件发送到 Gmail 帐户时,我看到以下内容已添加到图片 url:https://ci5.googleusercontent.com/proxy/fMePoJvSwECei02DF_cx9SKczcRDRDa9XeJs263AGBRUysoCNxeZhErF834cSHBLcBGkDR-JWdfqhZkW878P9A3gM7nh8dRfdNxjVpBrGiNBBJCoRnNmBrkSAoF-TBu3IQ=s0-d-e1-ft#
并且图片不再显示。
<p>
<img src="https://ci5.googleusercontent.com/proxy/fMePoJvSwECei02DF_cx9SKczcRDRDa9XeJs263AGBRUysoCNxeZhErF834cSHBLcBGkDR-JWdfqhZkW878P9A3gM7nh8dRfdNxjVpBrGiNBBJCoRnNmBrkSAoF-TBu3IQ=s0-d-e1-ft#https://prod-shopless-cdn.s3-ap-southeast-2.amazonaws.com/icons/email-icon.svg"
alt="email" height="20" style="vertical-align:middle;padding-right:5px" class="CToWUd">
<a rel="nofollow" href="mailto:john@some-domain.com" target="_blank">john@some-domain.com</a>
</p>
我该如何解决这个问题?
Yahoo 和 Gmail 上的图像 URL 发生变化是因为它们使用了图像缓存,有关 Gmail Image Proxy
的更多信息我找到了我的问题的答案 here,似乎 Google 图像代理适用于标准图像类型(.jpg
、.png
和 .gif
)...我的图像类型是 .svg
,我将模板更改为使用 .png
,现在它工作正常。