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

使用SendGrid单发件人验证与Node.js发邮件,返回成功却未收到

排查SendGrid邮件卡在“处理中”且Gmail未收到的问题

1. 核对单发送人验证信息

  • 确保代码中from字段的邮箱完全匹配你在SendGrid后台验证通过的单发送人邮箱,包括大小写、域名后缀,不能有拼写错误。
  • 检查该单发送人状态是否为“已验证”,如果是待验证状态,重新完成验证流程(点击邮箱收到的验证链接)。

2. 检查邮件内容与格式合规性

  • 确认邮件包含必填字段:subject(主题)、text/html(邮件内容),缺少这些可能导致SendGrid延迟处理或被收件方拦截。
  • 避免使用垃圾邮件触发词(比如“免费”“中奖”“立即点击”等过度营销词汇),同时不要添加可疑附件或链接。
  • 确保to字段的邮箱格式正确,没有多余空格或特殊字符。

3. 排查SendGrid账户与队列状态

  • 检查SendGrid账户是否处于正常状态:免费版账户有每日发送限额(100/天),如果超出限额,邮件会被队列延迟处理,直到额度重置。
  • 查看SendGrid后台的“活动记录”详情,有没有隐藏的错误提示(比如“待审核”“策略限制”),部分“处理中”状态可能是因为账户需要额外验证(比如首次发送触发人工审核)。

4. 检查Gmail端的拦截与过滤

  • 直接查看Gmail的「垃圾邮件」「促销」标签,很多触发过滤规则的邮件会被分到这些文件夹,而不是收件箱。
  • 尝试将验证过的单发送人邮箱添加到Gmail的联系人列表,或设置邮件过滤规则允许该邮箱的邮件进入收件箱。

5. 验证Node.js代码的正确性

确保你的SendGrid调用代码参数正确,示例正确写法:

const sgMail = require('@sendgrid/mail');
sgMail.setApiKey('你的SendGrid API密钥');

const msg = {
  to: 'recipient@gmail.com',
  from: 'verified-sender@yourdomain.com', // 必须是已验证的单发送人邮箱
  subject: '测试邮件',
  text: '这是SendGrid发送的测试邮件',
  html: '<strong>这是SendGrid发送的测试邮件</strong>',
};

sgMail.send(msg)
  .then(() => console.log('邮件发送请求已提交'))
  .catch(error => console.error(error.response.body));
  • 注意:接口返回成功仅代表SendGrid接收了请求,不代表邮件已投递,务必捕获并打印catch中的错误信息,排查是否有隐性的API错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 21:45:49