AWS SES发送邮件获Message ID但未收到,是否缺失登录配置步骤?
AWS SES未收到邮件:登录与配置步骤排查
场景说明
基于AWS官方.NET SES示例代码,使用AWS SDK for .NET调用SES发送邮件,核心代码如下:
var bodyHtml = "This is some HTML body text. and other HTML elements."; var bodyText = "This is some plain body text."; var subject = "Sample email from Amazon Simple Email Service"; var messageId = await sesWrapper.SendEmailAsync(toAddresses, ccAddresses, bccAddresses, bodyHtml, bodyText, subject, senderAddress);
- 发送成功时,会返回并打印对应的Message ID:

- 出现异常情况:调用返回成功但未收到邮件,对应提示如下:

需检查的登录与SES配置遗漏点
- 发件/收件邮箱验证:SES默认处于沙箱模式,必须验证所有发件人和收件邮箱地址,未验证的邮箱无法接收邮件。需登录AWS控制台进入SES完成邮箱验证。
- IAM权限配置:确认调用SDK的IAM用户拥有
ses:SendEmail或ses:SendRawEmail权限,检查IAM用户的权限策略是否包含对应权限声明。 - 区域一致性:SDK初始化指定的AWS区域必须与SES配置的区域完全一致,SES服务不支持跨区域调用。
- 邮件合规性:检查邮件标题、内容是否触发反垃圾邮件规则,避免敏感词汇或不规范HTML格式。
- 投递日志查询:在SES控制台的「邮件状态」或CloudWatch日志中查看投递详情,确认邮件是被拒收、退回还是处于队列。
- 沙箱模式限制:若未申请移出沙箱,发送数量和收件人范围会被严格限制,需提交申请提升发送权限。
内容的提问来源于stack exchange,提问作者User
相关产品推荐
相关产品推荐

