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

Amazon SES发送邮件提示收件人邮箱不存在的排查求助

排查Amazon SES接收邮件报错“邮箱地址不存在”的步骤

你遇到的这个报错通常意味着SES没有正确处理发往someone@mydomain.com的邮件,咱们一步步来排查:

  • 确认MX记录的生效状态与正确性
    你已经用dig mx mydomain.com +noall +answer +nocomments查到了MX记录,但可以再做几个验证:

    • 用不同的DNS工具(比如nslookup -type=mx mydomain.com)在不同网络环境下查询,确保全球各地都能解析到这条MX记录(毕竟DNS有缓存,你的TTL是2719秒,大概45分钟,可能还没完全生效)。
    • 登录你的DNS托管区域(比如Route 53),确认MX记录的值是10 inbound-smtp.eu-west-1.amazonaws.com.(注意末尾的点不能丢),而且没有其他优先级更低/更高的MX记录干扰——如果有其他MX记录,邮件可能会被路由到别的地方,导致SES收不到。
  • 检查SES的接收规则集(Receipt Rule Set)是否配置并激活
    这是最常见的坑:SES不会自动接收你的域名邮件,必须创建并激活接收规则集:

    1. 登录SES控制台,切换到eu-west-1区域(和你的MX记录区域一致)。
    2. 进入Email Receiving > Rule Sets。
    3. 确认有一个已激活的规则集,并且规则集里的规则包含以下内容:
      • 收件人条件匹配mydomain.com或者someone@mydomain.com(如果是单个邮箱)。
      • 有至少一个操作(比如转发到另一个有效邮箱、保存到S3、触发Lambda等)——如果没有操作,SES会拒绝接收邮件,返回地址不存在的报错。
  • 确认域名已在SES中完成接收验证
    虽然你配置了MX记录,但要确保:

    • 在SES控制台的Domains里,mydomain.com的状态是Verified,并且已经开启了Mail receiving功能(有些时候默认是关闭的)。
    • 如果是单个邮箱地址(比如someone@mydomain.com),你有没有单独验证这个邮箱?不过对于域名级别的接收,只要域名验证通过,子邮箱应该都能被处理,除非规则里做了限制。
  • 查看SES的接收日志,定位具体原因
    开启CloudWatch日志可以帮你找到更详细的报错信息:

    1. 在SES控制台的Email Receiving > Configuration里,开启Receipt logging,指定一个CloudLog组。
    2. 重新发送测试邮件到someone@mydomain.com。
    3. 打开CloudWatch控制台,找到对应的日志组,查看最新的日志条目——日志会告诉你是规则不匹配、域名未验证、还是操作目标无效(比如转发的邮箱不存在)。
  • 测试邮件的路由路径
    可以用SES提供的Test Receipt Rule功能,模拟发送一封到someone@mydomain.com的邮件,看规则是否能正常触发,操作是否能执行成功。如果测试失败,控制台会直接给出错误提示。

  • 检查是否有拒收规则或黑名单
    确认SES控制台的Email Receiving > Block List里没有把someone@mydomain.com或者发件人域名加入黑名单,也没有规则设置了Reject操作却没通知你。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:31:31