【发布时间】:2018-04-17 03:47:17
【问题描述】:
这似乎是我缺少的一个简单参数,但我无法弄清楚它到底是什么。
这是我使用“@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 的源代码似乎说只要有“替换”,它就会用这些替换初始化邮件类,但它不起作用:
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
如何正确地将变量替换为模板?我是不是用错包了?
【问题讨论】:
-
感谢发帖。近两周来,我一直试图从他们的支持中得到答案。他们的文档很糟糕,支持也好不到哪里去。感谢您的发帖,将在下面尝试您的答案!
-
很高兴我能帮上忙。文档非常分散,但是在挖掘了有关这些替换包装器的 Github 问题后,我能够在其中找到一些小块:github.com/sendgrid/sendgrid-nodejs/blob/master/packages/mail/…
标签: javascript node.js email templates sendgrid