电子邮件模板中的图像 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&amp;t=1577343946&amp;ymreqid=eab30077-9a08-b7e9-1c70-820001015100&amp;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,现在它工作正常。