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

SendGrid强制TLS下Node SDK调用POST /v3/mail/send的错误码问询

关于SendGrid强制TLS触发拦截时Node SDK的返回码问题

当启用强制TLS后,若收件方服务商不支持TLS导致邮件被丢弃,SendGrid Node SDK调用POST /v3/mail/send接口时会返回4xx级别的HTTP错误(通常是400或403),而非500错误。

原因说明:

  • 500错误属于服务端内部故障范畴,而邮件因强制TLS规则被拦截是明确的业务规则校验失败,属于客户端请求不符合服务端发送条件的场景,完全符合4xx错误的定义(客户端侧可预见、可处理的错误类型)。
  • 虽然官方文档未直接标注该场景的具体返回码,但从SendGrid的API设计逻辑来看,这类因发送策略触发的拦截,会在响应中返回包含TLS required but not supported描述的错误信息,对应状态码为4xx。

错误捕获代码示例:

你可以通过捕获SDK的错误对象获取具体状态码和错误描述:

const sgMail = require('@sendgrid/mail');
sgMail.setApiKey('YOUR_API_KEY');

const msg = {
  to: 'recipient@example.com',
  from: 'sender@example.com',
  subject: 'Test Email',
  text: 'Test content'
};

try {
  await sgMail.send(msg);
} catch (error) {
  // 输出4xx状态码
  console.error('Status Code:', error.response.statusCode);
  // 输出具体错误描述
  console.error('Error Message:', error.response.body.errors[0].message);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 05:55:16