动态数据不是使用NodeJS通过sendgrid Web API发送的

时间:2019-06-15 14:20:48

标签: node.js sendgrid

我正在尝试从sendgrid Web API电子邮件模板中的NodeJ发送动态数据,但是无法发送。

在下面的电子邮件中,我想显示动态数据的内容如下所示:

" _ 

这是我下面的节点js代码:

const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY);

const msg = {

to: req.body.email,
from: 'trav@gmail.com',
templateId:'d-8e322d7da4f44ca1afc76aefb3725555',
substitutionWrapppers:['{{" , "}}'],
substitutions:
{
  company_name:'Example',
  state:'Rajasthan'
}

sgMail.send(msg, (err) => {

                            if(err){

                                 console.log("Error", err);
                            }else{

                                 console.log("Email sent");
                                }
                            });

在下面的发送网格电子邮件模板中:

{{company}}  {{state}}    

请让我知道我做错了。任何帮助将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:0)

最后,它的工作良好的问题是在nodejs应用程序中设置动态数据并全局设置替代包装器。

这是更新的代码:

const sgMail = require('@sendgrid/mail');

sgMail.setApiKey(process.env.SENDGRID_API_KEY);
sgMail.setSubstitutionWrappers("{{", "}}");

const msg = {

to: req.body.email,
from: 'trav@gmail.com',
templateId:'d-8e322d7da4f44ca1afc76aefb3725555',
dynamicTemplateData: {

      company_name: 'Example',
      state: 'Rajasthan'
}

sgMail.send(msg, (err) => {

                        if(err){

                             console.log("Error", err);
                        }else{

                             console.log("Email sent");
                            }
                        });

谢谢