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

使用Amazon SES发邮件遇'Missing final '@domain''错误求助

解决AWS SES发送邮件的两个InvalidParameterValue错误

针对「Missing final '@domain'」错误的排查步骤

  • 强制校验所有邮箱参数的实际值:即使确认地址已验证,也要在代码中打印this.emailFrom、this.emailTo、email.getEmailFrom()的原始字符串,检查是否存在前后空格、隐形特殊字符(如全角空格、换行符),或者是否不小心传入了空字符串/null。SES对邮箱格式校验严格,任何非标准字符都会触发该错误。
  • 检查withReplyToAddresses的参数类型:AWS SDK的withReplyToAddresses支持传入单个字符串或字符串集合,但如果email.getEmailFrom()是集合类型(如List),确保没有在传参时误将集合对象直接转为字符串(比如调用了toString()),这种情况会导致传入类似[user@example.com]的格式,从而触发邮箱格式错误。
  • 排除配置集干扰:暂时移除.withConfigurationSetName("name")后重试,如果错误消失,说明配置集关联的身份可能存在格式问题,需要检查配置集的触发规则或关联身份是否合法。

针对「Nested group」错误的排查步骤

这个错误是因为传入的发件人ARN格式不符合SES规范,正确的SES邮箱身份ARN格式为:

arn:aws:ses:区域ID:账号ID:identity/邮箱地址
  • 核对ARN结构:确保没有多余的嵌套符号(比如错误添加括号、多斜杠),也不要混淆域名身份ARN和邮箱身份ARN(域名ARN格式为arn:aws:ses:区域ID:账号ID:identity/域名)。
  • 确认ARN对应的身份已验证:即使格式正确,如果ARN指向的邮箱/域名未在SES中完成验证,也可能触发参数错误,需在SES控制台确认该身份的状态为「已验证」。

额外验证建议

  • 直接使用硬编码的已验证邮箱替换所有动态参数(this.emailFrom、this.emailTo、email.getEmailFrom())进行测试,快速定位是否是动态参数的取值问题。
  • 检查AWS SDK版本:如果使用的是旧版SDK,可能存在参数处理的bug,尝试升级到最新的SES SDK版本(比如aws-java-sdk-ses的最新稳定版)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 18:12:54