我怎样才能更改 URL 中的图像并仍然确保发送的旧电子邮件不受影响?
How can I change Image in the URL and still make sure old emails that are sent is not affected?
我们的应用程序将针对不同的事件为客户发送电子邮件。这些电子邮件有占位符,我们需要在其中显示促销横幅。营销团队要求我们让它充满活力。这意味着将有一个共同的 url,团队将在每个月每当有新的促销活动时更改 URL 中的图像。
现在我的要求是,
比如 2021 年 12 月 1 日,营销团队更新了一张新图片 URL。
现在我将在 2021 年 12 月 1 日之后发送的所有电子邮件都应该有这张新图片。
此外,在 2021 年 12 月 1 日之前(直到 2021 年 11 月 30 日)已经发送给客户的所有电子邮件都不会受到影响,如果客户打开它们,他们应该仍然只能看到旧图像。
(注意:新旧邮件的图像 URL 相同,但只有 URL 中的图像会更改)。我们所有的应用程序都是 .NET 应用程序。
此处为 Twilio SendGrid 开发人员布道师。
正如 Nick 和 Caius 在评论中所说,您无法通过单个 URL 实现这一目标。如果您更改 URL 后面的图像,那么使用该 URL 的旧电子邮件将在打开时更新为新图像。
相反,您应该每次都使用不同的 URL。或者,正如 Caius 指出的那样,嵌入图像 URLs 可能无法加载。因此,您还可以将图像附加到电子邮件中并将其嵌入。 Base 64 嵌入很有用,但它确实会使电子邮件变大,尤其是当它使图像本身变大时。
我个人更喜欢将图像添加为附件,然后通过 CID 或 Content-ID 引用它们将它们嵌入到内容中。有关如何执行此操作的详细信息,请参见 embedding images in emails 上的 post。但想法是你给附件一个 cid
属性,然后在你的 HTML 中引用 img
标签的 src
属性中的 cid:
<img src="cid:myimagecid"/>
我们的应用程序将针对不同的事件为客户发送电子邮件。这些电子邮件有占位符,我们需要在其中显示促销横幅。营销团队要求我们让它充满活力。这意味着将有一个共同的 url,团队将在每个月每当有新的促销活动时更改 URL 中的图像。
现在我的要求是, 比如 2021 年 12 月 1 日,营销团队更新了一张新图片 URL。
现在我将在 2021 年 12 月 1 日之后发送的所有电子邮件都应该有这张新图片。
此外,在 2021 年 12 月 1 日之前(直到 2021 年 11 月 30 日)已经发送给客户的所有电子邮件都不会受到影响,如果客户打开它们,他们应该仍然只能看到旧图像。
(注意:新旧邮件的图像 URL 相同,但只有 URL 中的图像会更改)。我们所有的应用程序都是 .NET 应用程序。
此处为 Twilio SendGrid 开发人员布道师。
正如 Nick 和 Caius 在评论中所说,您无法通过单个 URL 实现这一目标。如果您更改 URL 后面的图像,那么使用该 URL 的旧电子邮件将在打开时更新为新图像。
相反,您应该每次都使用不同的 URL。或者,正如 Caius 指出的那样,嵌入图像 URLs 可能无法加载。因此,您还可以将图像附加到电子邮件中并将其嵌入。 Base 64 嵌入很有用,但它确实会使电子邮件变大,尤其是当它使图像本身变大时。
我个人更喜欢将图像添加为附件,然后通过 CID 或 Content-ID 引用它们将它们嵌入到内容中。有关如何执行此操作的详细信息,请参见 embedding images in emails 上的 post。但想法是你给附件一个 cid
属性,然后在你的 HTML 中引用 img
标签的 src
属性中的 cid:
<img src="cid:myimagecid"/>