具有多个收件人的node.js sendgrid在添加替换时获取空值

时间:2016-07-04 06:29:19

标签: javascript node.js email sendgrid

我在使用sendgrid向多个收件人发送电子邮件时发现了问题。 添加替换时我得到空白值。

技术

  • 的node.js
  • sendgrid(v2)

====我的示例代码(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。

如何解决此问题?

感谢

1 个答案:

答案 0 :(得分:0)

在分析了sendgrid lib后,我现在通过编辑这一行找到了解决方案

email.addSubstitution(':test', new Array(email.to.length).fill('ddddddddddddd'))