nodejs +使用sendgrid的Sendgrid模板/邮件失败(“to”值为空,阻止消息)

oxcyiej7  于 2023-02-08  发布在  Node.js
关注(0)|答案(2)|浏览(195)

我正在使用Sendgrid节点模块@sendgrid/mail,作为一种测试方法,我按照下面的代码硬编码收件人电子邮件地址。当我使用模板(Sendgrid中预构建)时,我看到电子邮件收件人字段为空,并且在Sendgrid中出现错误“阻塞”(顺便说一句,抑制列表中没有任何内容)。发送没有DynamicTemplateData部分的电子邮件工作正常

const msg = {
      to: 'xxx@xxxxx.com',
      from: 'yyy@yyy.com',
      subject: 'Blah',
      text: 'Blah....,
      html: '<p>Blah....</p>',
      templateId: 'd-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
      dynamicTemplateData: {
        subject: subject,
        link: resetLink
      },
    };

    (async () => {
      try {
        await sgMail.send(msg);
      } catch (error) {
        console.error(error);
      }
    })();
um6iljoc

um6iljoc1#

这可能是因为您正在使用的templateId处于非活动状态。请在Sendgrid控制台中将其设置为活动状态,然后重试。
SendGrid在阻塞“to”行时发送202个响应--遇到了同样的问题

unguejic

unguejic2#

我知道这是旧的,但有人寻找原因。
要使用动态模板发送邮件,必须使用Web API mail.send。SMTP发送不支持动态模板。

相关问题