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

AWS Cognito注册阶段无法收邮件及相关异常问题求助

问题分析与解决方案

核心问题

原Cognito用户池存在两类异常:

  1. 调用sign_up时触发CodeDeliveryFailureException,用户创建成功但验证邮件无法发送(所用SES邮箱已在沙箱模式验证);
  2. 无法更新用户池Messaging标签下的REPLY-TO邮箱配置,也无法关闭删除保护删除用户池,操作均报InvalidParameterException: Unable to deliver message;
    新用户池配置有效REPLY-TO邮箱后可正常收发验证邮件。

排查与修复步骤

1. 核查用户池与SES的关联配置

  • 确认原用户池绑定的SES邮箱(含REPLY-TO配置的邮箱)是否完全验证:登录SES控制台,检查邮箱地址/域名的验证状态,确保无未完成的验证步骤;
  • 检查SES发件邮箱是否触发配额限制或被列入黑名单,同时确认Cognito用户池所在区域与SES邮箱验证区域一致(Cognito仅支持同区域的SES资源)。

2. 强制重置用户池邮件配置

原用户池可能因初始配置错误陷入异常状态,可通过AWS CLI绕过控制台限制,直接更新配置:

aws cognito-idp update-user-pool \
  --user-pool-id 你的用户池ID \
  --email-configuration ReplyToEmailAddress=已验证的邮箱地址,SourceArn=SES身份ARN

注意替换命令中的你的用户池ID、已验证的邮箱地址和SES身份ARN为实际值,SES身份ARN需是已完成验证的邮箱/域名ARN。

3. 修复删除保护无法关闭的问题

若控制台操作无效,用CLI强制关闭删除保护:

aws cognito-idp update-user-pool \
  --user-pool-id 你的用户池ID \
  --deletion-protection-status INACTIVE

执行前需先清空用户池内的所有用户:

aws cognito-idp list-users --user-pool-id 你的用户池ID --query 'Users[].Username' | xargs -I {} aws cognito-idp admin-delete-user --user-pool-id 你的用户池ID --username {}

4. 兜底方案:迁移用户至新用户池

若原用户池异常无法修复,可通过以下方式迁移用户:

  • 配置Cognito用户迁移Lambda触发器,将原用户池用户批量迁移至新用户池;
  • 导出原用户池的用户数据(控制台导出功能),清理后导入新用户池,重新触发验证邮件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 00:10:03