Sendgrid:如何向电子邮件模板添加动态链接?

时间:2020-05-08 18:23:29

标签: sendgrid sendgrid-api-v3

我正在尝试在电子邮件模板中添加一个类似于以下内容的链接:

<a href={{url}}>click here</>

通过添加“自定义”链接,在“设计器”中添加了以上链接。像我输入的{{url}}这样的值。

我在dynamic_template_data中传递一个url值,就像这样:

const msg = {
  to: savedAdmin.email,
  from: process.env.EMAIL_ADDRESS,
  templateId: process.env.SENDGRID_NEW_ADMIN_TEMPLATE_ID,
  personalizations: [
    {
      to: [{email: savedAdmin.email}],
      dynamic_template_data: {
        name: savedAdmin.first_name,
        url: process.env.CMS_URL,
        email: savedAdmin.email,
        password: randomPassword,
      },
    },
  ],
};

但是,当我在收件箱中收到邮件时,URL会像这样呈现:

http://url9905.myweb.shop/ls/click?upn=BMmHdsRoNrbb0-2FMI-2BBVvCjpDiCceHLG5U2u5OCf29QV6iCtfuvZYId1FE95cTz9uyMY31z9fQ7iR-2BPgq-2FkquvxdAPC0oMKiLa3DRglYUSVP-2FRmYbDQ-2BdFGnczXk75K3Ym8rSodsrAy-2BfNDJwqA7RDeemPFjepjRsUdci9CA6Y0-....

如何使它工作?

2 个答案:

答案 0 :(得分:5)

Sendgrid将您的链接替换为用于点击跟踪的中间重定向。 This user遇到了同样的问题。在Sendgrid仪表板上,转到“设置”->“跟踪”,然后单击右侧的“单击跟踪”的编辑图标,然后禁用该功能。

答案 1 :(得分:2)

似乎导致此问题的原因是由于未在链接中包含http / s前缀。请将动态变量从“ cms.mywebshop.com”更改为“ http://cms.mywebshop.com”或“ https://cms.mywebshop.com”。相当确定这可以解决您的问题。请告诉我。

我能够测试我的href之一上没有http / s前缀,尽管该标签没有以纯文本形式显示,但确实无法转发。可能是Sendgrid的人做到了,因此链接被显示为纯文本,以进行故障排除。