Sendgrid替代包装器未按预期工作

时间:2018-09-06 11:22:33

标签: node.js sendgrid

我与sendGrid Mail Api一起使用Firebase云功能发送邮件

这是我的使用sendGrid / Mail API发送电子邮件的代码

 studentList.forEach(s => {
            var e = {
                to: s.email,
                from: 'mymailId@gmail.com',
                subject: "Mail Using Send Grid",
                templateId: templateId,
                substitutionWrappers: ['{{', '}}'],
                substitutions: {
                   name: s.name
                }
            }
            mailArray.push(e);
        });
        return sendGrid.send(mailArray).then(() => {
            var message = { message: "Mail Successfully sent" };
            return response.status(200).send(message);
        });

我的模板在发送网格See the image

已发送邮件,但占位符未替换为replaceWrappers。请帮助我,因为我是新手。

1 个答案:

答案 0 :(得分:0)

安装最新版本的@ sendgrid / mail软件包,然后按照 以下官方文档链接 Transactional Templates Use Case

现在,您必须使用dynamic_template_data而不是替换。由于从v3 API开始,您还可以删除替代属性Wrappers,因此无需指定替代包装器,因为它将假设您使用的是{{花括号}}。

这是一个应该起作用的示例:

constudentList.forEach(s => {
        var e = {
            to: s.email,
            from: 'mymailId@gmail.com',
            subject: "Mail Using Send Grid",
            templateId: templateId,
            dynamic_template_data: {
               name: s.name
            }
        }
        mailArray.push(e);
    });
    return sendGrid.send(mailArray).then(() => {
        var message = { message: "Mail Successfully sent" };
        return response.status(200).send(message);
    });