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

Posted

技术标签:

【中文标题】Sendgrid 替换包装器未按预期工作【英文标题】:Sendgrid substitutionWrappers are not working as expected 【发布时间】:2018-09-06 11:22:33 【问题描述】:

我使用 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

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

【问题讨论】:

【参考方案1】:

安装最新版本的@sendgrid/mail 包并按照上的说明进行操作 以下链接在官方文档上 Transactional Templates Use Case

现在你必须使用 dynamic_template_data 而不是替换。您也可以删除substitutionWrappers 属性,因为从v3 API 开始,不需要指定替换包装器,因为它会假定您使用的是 花括号。

这是一个应该可以工作的例子:

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

【讨论】:

以上是关于Sendgrid 替换包装器未按预期工作的主要内容,如果未能解决你的问题,请参考以下文章

迭代器未按预期运行

带有 :not 的 CSS 选择器未按预期运行

react-native NavigatorIOS 未按预期工作

PostAsJsonAsync 未按预期运行

WaveFront .obj 加载器未按应有的方式显示对象(VBO 和 VAO)

Angular ngOnit () 未按预期工作