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

AWS Cognito ap-southeast-2区域注册新用户时无法向美国手机号发送验证短信

AWS Cognito ap-southeast-2区域发送美国手机号验证短信失败排查方案

1. 检查Cognito用户池短信发送配置

  • 确认是否已将Cognito用户池的短信发送方从默认Cognito短信服务切换为Amazon SNS:ap-southeast-2区域的默认Cognito短信服务仅支持向澳大利亚本地手机号发送,且每月仅有10条免费额度,跨国号码发送必须切换到SNS服务
  • 检查Cognito绑定的SNS IAM角色权限:确认角色具备sns:Publish权限,且资源规则没有限制+1开头的美国号码作为发送目的地

2. 检查SNS国际短信配置

  • 确认和Cognito同区域(ap-southeast-2)的SNS服务开通了国际短信发送权限,进入SNS控制台「短信」-「文本消息偏好设置」:
    • 检查短信支出限额是否足够,超出限额后国际短信会被直接拦截
    • 确认默认短信类型设置为Transactional,交易类短信在美国地区的送达率远高于推广类短信
  • 查看SNS「禁止发送列表」,确认目标美国手机号没有因之前的退订、发送失败记录被加入拦截名单

3. 直接调用SNS接口测试定位问题

你可以通过AWS CLI直接调用同区域SNS接口发送测试短信,定位问题所属层级,示例命令如下:

aws sns publish \
  --region ap-southeast-2 \
  --phone-number "+1替换为目标美国手机号" \
  --message "Test verification code" \
  --message-attributes '{"AWS.SNS.SMS.SMSType": {"DataType": "String", "StringValue": "Transactional"}}'
  • 如果直接调用SNS也无法收到短信,问题出在SNS配置或运营商拦截层面
  • 如果SNS发送正常,问题出在Cognito配置层面,可进一步检查用户池是否开启了手机号验证、注册触发器是否拦截了短信发送请求

4. 运营商拦截排查

  • 确认目标美国手机号没有开启国际短信拦截功能
  • 检查Cognito短信模板内容,避免包含营销类敏感关键词,这类内容会被美国运营商直接拦截

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 07:24:01