Node.js Sendgrid替换包装器未按预期工作

Node.js Sendgrid替换包装器未按预期工作,node.js,sendgrid,Node.js,Sendgrid,我正在使用sendGrid邮件Api使用firebase云函数发送邮件 下面是我使用sendGrid/Mail API发送电子邮件的代码 studentList.forEach(s => { var e = { to: s.email, from: 'mymailId@gmail.com', subject: "Mail Using Send Grid",

我正在使用sendGrid邮件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);
        });
发送网格中的我的模板


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

安装最新版本的@sendgrid/mail软件包,并按照上的说明进行操作 以下是关于官方文件的链接

现在的问题是,您必须使用动态模板数据,而不是替换。您还可以删除substitutionWrappers属性,因为从V3API开始,不需要指定替换包装器,因为它将假定您使用的是{{{curly braces}}

下面是一个应该有效的示例:

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);
    });