如何使用Node.js发送JSONobject到Sendgrid动态模板?

How to send JSON object to Sengrid dynamic template using Node.js?

我想将JSONobject传递给Sendgrid模板动态生成邮件内容。

我浏览了所有这些文档,但找不到这两个关键信息。

  1. 如何发送动态 JSON object?我在哪里包括?在 header 里面?消息 object?键名是什么?
  2. 如何包含模板 ID?密钥的名称是什么?

我能找到的最接近的答案是 here in this doc,但是这个 仍然无法回答

  1. 使用 Node.js 而不是 cURL 时,我应该在哪里包含它??
  2. 模板 ID 的键名是什么?它说我需要指定模板 ID,但是如何?

examples 只提供 htmljson 而不是包含 JSON.

的方法

太好了 confused.Did 我错过了文档中的某些内容?

在不寻求帮助的情况下,我应该采取什么步骤自己解决这个问题?

您需要将对象传递给 sengrind.send 方法,并在其上包含属性“dynamic_template_data”和“template_id”。类似于:

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

const msg = {
  to: 'test@example.com', // Change to your recipient
  from: 'test@example.com', // Change to your verified sender
  dynamic_template_data: { ... },
  template_id: "the_id_of_the_template_you_create_on_sendgrid"
}

sgMail
  .send(msg)
  .then((response) => {
    console.log(response[0].statusCode)
    console.log(response[0].headers)
  })
  .catch((error) => {
    console.error(error)
  })

注意:您需要在 Sendgrid 模板生成器上创建一个模板,并在那里设置键。然后您可以匹配来自您的 nodejs 应用程序的密钥。此电子邮件的主题在您在 Sendgrid 上创建的模板上定义。