如何replaceSendgrid模板variables? (在node-js中)

这似乎是一个简单的参数,我错过了,但我很难搞清楚它是什么。

这是我用'@ sendgrid / mail'发送的请求:

email.js:

const sgMail = require('@sendgrid/mail'); function emailRequest() { msg = { to: 'test+10@gmail.com from: 'info@owner.io', subject: 'Receipt for Business Expenses', template_id: 'db6d11ae-41e4-4e1a-a71b-f5368eb21c9c', personalizations: [ { to: 'test+10@gmail.com, from: 'info@ownr.io, subject: 'Receipt for Business Expenses, template_id: 'db6d11ae-41e4-4e1a-a71b-f5368eb21c9c', substitutions: { ':firstname': 'Bobba', ':ordernumber': 'WHAAA', ':orderdate': 'today', ':ordertime': 'NOW!', }, custom_args: { ':firstname': 'Bobba', ':ordernumber': 'WHAAA', ':orderdate': 'today', ':ordertime': 'NOW!', }, }, ], sub: { ':firstname': 'Bobba', ':ordernumber': 'WHAAA', ':orderdate': 'today', ':ordertime': 'NOW!', }, substitutions: { ':firstname': 'Bobba', ':ordernumber': 'WHAAA', ':orderdate': 'today', ':ordertime': 'NOW!', }, }; sgMail.setApiKey(process.env.SENDGRID_API_KEY); return sgMail .send(msg) .then(response => { return response; }) .catch(err => { throw err; }); } 

电子邮件发送,但我仍然得到未被取消的模板:

在这里输入图像说明

sendgrid-nodejs mail.js的源代码似乎说只要有“replace”,它将用这些replace初始化邮件类,但它不工作:

https://github.com/sendgrid/sendgrid-nodejs/blob/master/packages/helpers/classes/mail.js

https://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/index.html

你如何正确地将variablesreplace为模板? 我是否使用错误的软件包?

经过多一点挖掘,我发现他们的github的问题部分的答案。 我错过了“replace包装”。 要做到这一点,我所要做的就是将“replacementWrappers”与“replace”一起添加到消息中:

 const msg = { to: 'test@email.com' from: 'info@gmail.io', subject: 'Receipt for Business Expenses', template_id: 'da6db3ae-41e4-4e1a-a71b-f5368ab41c9c', substitutionWrappers: [':', ''], substitutions: { firstname: 'Bobba', ordernumber: 'WHAAA', orderdate: 'today', ordertime: 'NOW!', }, };