我可以在SendGrid模板中使用替换标记的图像吗?

Den*_*ini 5 sendgrid express sendgrid-templates

我正在SendGrid中创建一个模板,我试图将图像放在中心,我想成为一个标记的URL,所以我可以在我的代码中动态替换,因为它将来自我的数据库.

我试图简单地在输入字段中放置一个标记,但它不接受.有没有办法可以实现这一目标?

谢谢!

Nic*_*Lie 6

我假设您已经设法通过Node.js触发SendGrid API,因为您使用Express标记标记了问题.

我目前正在尝试使用SendGrid构建交易电子邮件模板,我设法实现了这一目标.

您可能希望首先使用构建器添加新的图像元素.

添加图片

然后上传图片.上传图像后,双击图像元素.抓取图像文件的名称并进行复制.

图像文件

切换到代码视图.

代码视图

在代码视图中,找到包含图像文件名称的html标记.这是我案例中的一个例子.

要替换的代码

将此代码替换为"替换标记".

替换标签

保存模板.您的模板应该可以使用了.在Node.js代码中,设置替换标记.

mail.personalizations[0].addSubstitution(new helper.Substitution("your-subtitution-tag", "image-url"));
Run Code Online (Sandbox Code Playgroud)

我使用这个库:https://github.com/sendgrid/sendgrid-nodejs希望你的电子邮件应该包含新的图像.

电邮结果

我模糊了上面的一些敏感内容.这是我的电子邮件结果.希望这可以帮助!

  • 我无法找到切换到"代码"视图的选项.他们必须在他们的UI b/c中进行更改我知道的主代码视图位于一个完全不同的模板中,您必须在创建它时选择代码或设计模式.从设计模式我可以进入图像模块的代码视图,但我不会编辑添加包含我的子标记的src属性. (3认同)

小智 6

正如许多人注意到的那样,在最初创建电子邮件模板后,Sendgrid 改变了在“基于代码”编辑器和“设计所见即所得”编辑器之间切换的能力,从而使 Nicholas 的回答变得无关紧要(抱歉,伙伴)。必须在创建点进行选择,然后它会保留为那种类型的编辑器模式。

我假设你们中的许多人(我知道我这样做!)希望保留对您的电子邮件进行可视化编辑的能力(允许设计师和文案作者完成他们的工作,而不会因为他们的更改而打扰开发人员)同时不放弃定制好东西 Sendgrid 的动态电子邮件提供。

我找到了一种替代方法,虽然有点麻烦,但可以提供所需的结果。

按照这组说明将动态值插入到“所见即所得”模板编辑器中img标签的src属性中:

  1. 创建一个新的设计编辑器模板(它允许您在添加该模板的第一个版本后选择它)。
  2. 设计您的电子邮件 - 添加文本、图像等等。
  3. 选择一个图像项框(您想稍后注入 SRC URL 的那个),然后单击查看代码图标以查看背后的代码(代码隐藏按钮)。
  4. 将当前存在的 URL 值复制到一边(我假设您选择了一个临时图像只是为了在第 2 步中设置您的电子邮件的样式),然后关闭此对话框而不进行任何更改。
  5. 转到左侧Build侧边栏上的Import/Export部分(在那里),然后单击 Export HTML。保存文件并在文本编辑器中打开它。
  6. 搜索您在步骤 (4) 中复制的 URL,并将其替换为您选择的动态变量(例如:{{my_dynamic_logo_url}})。
  7. 复制整个文件内容(在上一步中进行更改之后),然后返回到 Sendgrid 编辑器,并在与步骤 (5)相同的导入/导出部分中单击导入按钮。
  8. 将文件内容粘贴在那里,然后单击“确定”。它看起来都一样(也许只有图像本身会消失,但没关系 - 相信我。现在保存您的模板。
  9. 瞧 - 通过 API 发送您的电子邮件,同时将所需的 URL 注入 {{my_dynamic_logo_url}} - 您现在应该能够看到显示在收到的电子邮件上的动态图像。
  10. 只需在这里制作一个不错的第 10 轮:P
    附上可以帮助完成此过程的图像