Sendgrid事务性邮件模板将href属性作为替换

时间:2017-08-14 10:25:12

标签: javascript node.js sendgrid sendgrid-templates

我正在尝试使用Sendgrid交易模板使用sendgrid node client发送信息电子邮件,例如帐户验证等。 我创建了一个主要的事务模板,它应该有一个按钮,它有一个动态正文文本和一个按钮,每个邮件都有一个动态URL / href属性。

我替换按钮文本有效,如果我用URL替换替换它,我也会在文本中看到URL。但是,当我尝试将url附加到href属性时它会消失,它只是从我的锚标签中剥离href属性。这种情况无处不在,无论我是在可视化构建器中设置按钮URL,在HTML片段中还是在我的邮件正文中,都没关系。手动设置URL而不进行替换似乎有效。

我也尝试使用%value%作为替换,以及多个邮件客户端(gmail,outlook)但无济于事。请参阅我的函数以发送以下信息性电子邮件:

const sendInformationalEmail = async (to, subject, body, substitutions) => {
    const fromMail = new helper.Email(SENDGRID_FROM_MAIL);
    const toMail = new helper.Email(to);
    const content = new helper.Content('text/html', body);
    const mail = new helper.Mail(fromMail, subject, toMail, content);
    mail.setTemplateId(process.env.SENDGRID_INFORMATIONAL_TEMPLATE_ID);

    Object.keys(substitutions).map(substitution => {
        mail.personalizations[0].addSubstitution(
            new helper.Substitution(`-${substitution}-`, substitutions[substitution])
        );
    });

    const request = sendgrid.emptyRequest({
        method: 'POST',
        path: '/v3/mail/send',
        body: mail.toJSON()
    });

    return await sendgrid.API(request, function(err, response) {
      console.log(response.statusCode);
      console.log(response.body);
      console.log(response.headers);
    });
}

0 个答案:

没有答案