You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SendGrid 7.6.2批量收件人发送邮件报错:期望email为字符串

SendGrid多收件人配置错误修正

你的问题出在收件人对象的email字段格式不符合SendGrid的要求:SendGrid不允许单个收件人对象的email值为数组,该字段必须是字符串类型。

正确的多收件人配置方式

有两种可行的写法:

方式1:拆分为多个收件人对象(推荐)

把每个收件人单独写成一个对象,统一放在数组中:

const mailsTo = [
  { email: "demo@email.com", name: "demo", type: 'to' },
  { email: "demo1@email.com", name: "demo1", type: 'to' }
];

之后直接将这个数组传入send()或sendMultiple()方法即可——单个字符串收件人能正常发送,就是因为符合单个对象的email为字符串的规则。

方式2:使用personalizations字段配置(适合复杂场景)

如果需要给不同收件人设置不同的主题、内容等,可以通过personalizations数组来配置:

const msg = {
  from: 'your@email.com',
  subject: '测试邮件',
  text: '这是测试内容',
  personalizations: [
    { to: [{ email: "demo@email.com", name: "demo" }] },
    { to: [{ email: "demo1@email.com", name: "demo1" }] }
  ]
};
sgMail.send(msg);

关于send()和sendMultiple()的区别

  • send():适合给多个收件人发送相同内容的邮件,直接传多收件人对象数组即可。
  • sendMultiple():适合给不同收件人发送不同内容的邮件,需要配合personalizations数组实现差异化配置。

内容的提问来源于stack exchange,提问作者Nick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 08:33:35