禁用自动预热后如何使用SES专用IP?Cognito发信IP不符问题排查
解决SES专用IP未生效及禁用自动预热后的正确使用问题
首先,咱们先聚焦你提到的Cognito邮件没走专用IP的核心问题——这通常是因为Cognito默认不会自动关联你的自定义SES IP池,得手动配置才行。然后再聊聊禁用自动预热后怎么正确用专用IP。
一、排查Cognito与SES的关联配置
这是最可能出问题的环节:
- 确认Cognito用的是你的SES资源:在Cognito用户池的「消息自定义」里,要选择「使用自己的Amazon SES配置」,而不是默认的AWS托管选项。如果用默认选项,Cognito会用AWS自己的SES集群,根本碰不到你的专用IP。
- 绑定配置集到Cognito:你需要先在SES里创建一个配置集,把这个配置集关联到你的专用IP池(在配置集的「IP池设置」里指定)。然后在Cognito的邮件设置里,把这个配置集填进去。这样Cognito发送的所有邮件(邀请、重置密码等)都会通过这个配置集走你的专用IP。
- 检查权限:确保Cognito的服务角色有调用SES的权限,比如
ses:SendEmail和ses:SendTemplatedEmail,并且权限范围包含你用来发送邮件的SES身份(域名/邮箱)和配置集。
二、验证SES专用IP的基础配置
即使禁用了自动预热,也得确保IP池和发送身份关联正确:
- IP池与发送身份绑定:登录SES控制台,进入「已验证的身份」,找到你用来发送邮件的域名(或者邮箱),编辑它的「IP池设置」,选择你的专用IP池。这样所有从这个身份发出的邮件都会优先用池里的IP。
- 测试邮件验证:用SES控制台手动发一封测试邮件,指定使用你的专用IP池(或者用关联了IP池的配置集),然后查看邮件头的
Received字段,确认发件IP是不是你的专用IP。如果测试邮件能正常走专用IP,但Cognito的不行,那问题肯定在Cognito的配置上。 - 检查IP状态:在SES的「IP池」页面,确认你的专用IP状态是「可用」,没有被限制。如果IP有违规记录(比如高投诉率),SES可能会暂时禁用它的发送权限。
三、禁用自动预热后,正确使用SES专用IP的步骤
自动预热禁用后,SES不会帮你控制发送量,得自己手动管理,避免IP被列入黑名单:
- 从小量发送开始,逐步扩容
一开始每天只发几百封邮件,观察送达率、投诉率、退信率这些指标。SES的健康阈值是:投诉率低于0.1%,退信率低于5%。如果指标稳定,再慢慢提升发送量(比如每周增加50%-100%的量)。 - 持续监控发送指标
用SES控制台的「发送统计」页面实时监控这些数据,一旦发现投诉率或退信率飙升,立刻降低发送量,排查问题(比如邮件内容是否合规、收件人列表是否干净)。 - 保持IP的活跃度
即使发送量小,也要定期用这个IP发邮件,避免IP长时间闲置导致信誉下降。比如每天发几十封合规的邮件给活跃用户,维持IP的正常使用记录。
快速排查清单
- 确认Cognito的邮件设置没有用默认选项,而是关联了你的SES配置集
- 确认SES配置集和发送身份都绑定了你的专用IP池
- 用测试邮件验证专用IP是否能正常发送
- 检查SES账户和IP的状态是否正常
内容的提问来源于stack exchange,提问作者Shubham Mundra
相关产品推荐
相关产品推荐

