我在使用sendgrid向多个收件人发送电子邮件时发现了问题。 添加替换时我得到空白值。
技术
====我的示例代码(node.js)====
const SENDGRID_API_KEY = 'KEY'
const sendgrid = require('sendgrid')(SENDGRID_API_KEY)
function sendEmailToSupport() {
const email = new sendgrid.Email({
from: 'jaewwalletsupport@paysbuy.co.th',
to: ['user_a@gmail.com', 'user_b@gmail.com', 'user_c@gmail.com']
html: '<div>test = :test</div>',
subject: 'dummy'
})
email.addSubstitution(':test', 'ddddddddddddd')
sendgrid.send(email, (err, response) => {
if (err) {
console.log(err)
} else {
console.log('Yay! Our templated email has been sent')
}
})
}
module.exports = {
sendEmailToSupport
}
======结果======
user_a@gmail.com获取内容正确的电子邮件test = ddddddddddddd
user_b@gmail.com,user_c @ gmail.com收到空白值test =
的电子邮件
看起来email.to
数组中的第一封电子邮件会获得正确的内容,其他电子邮件会获得空白数据。
在sendgrid网站管理员中,没有错误,每次都是fiine。
如何解决此问题?
感谢
答案 0 :(得分:0)
在分析了sendgrid lib后,我现在通过编辑这一行找到了解决方案
email.addSubstitution(':test', new Array(email.to.length).fill('ddddddddddddd'))