使用Amazon SES发送邮件时遇‘邮箱地址未验证’错误的咨询
错误原因及解决方法
错误原因
- AWS SES沙箱模式限制:你的SES账户处于默认的沙箱模式,该模式下有严格限制:
- 仅允许向已验证的收件人邮箱发送邮件
- 发件人邮箱(或其所属域名)必须完成SES身份验证
- 身份未验证:错误提示里的三个身份均未在CA-CENTRAL-1区域的SES中完成验证:
alex.smail@yahoo.ca:可能是你实际使用的发件人(或代码中配置的发件人地址有误)Sender Name email1@yahoo.ca:配置的发件人地址email1@yahoo.ca未验证email2@yahoo.com:收件人邮箱未验证
解决方法
1. 验证所有涉及的邮箱身份
登录AWS控制台,切换到CA-CENTRAL-1区域的SES服务:
- 验证发件人邮箱:进入「身份管理」→「电子邮件地址」,添加
email1@yahoo.ca(以及错误提示中的alex.smail@yahoo.ca,如果是你实际使用的发件人),按照收到的验证邮件完成确认 - 验证收件人邮箱:同样在「电子邮件地址」中添加
email2@yahoo.com,完成验证(沙箱模式下必须验证收件人) - 若需批量使用某域名下的邮箱,可直接验证整个域名,该域名下所有邮箱无需单独验证
2. 核对代码中的发件人配置
确保代码里的FROM值与SES中验证的邮箱完全一致,避免拼写错误:
String FROM = "email1@yahoo.ca"; // 必须和SES验证的邮箱完全匹配
3. (可选)退出SES沙箱模式
如果需要向未验证的收件人发送邮件,可申请退出沙箱:
- 打开SES控制台,点击「请求提升限制」
- 填写使用场景等信息,AWS审核通过后即可解除收件人验证限制(发件人仍需验证)
代码小优化(可选)
代码中重复引用了System.Net.Mail,可删除重复的using语句:
// 移除重复的引用 // using System.Net.Mail;
内容的提问来源于stack exchange,提问作者YacineSM
相关产品推荐
相关产品推荐

