Amazon SES无法触发Lambda函数,请求排查遗漏配置
SES触发Lambda未执行的排查要点
- 确认规则集已激活:SES规则集创建后默认处于非活跃状态,必须手动将其设为活跃规则集。在SES控制台的「邮件接收」→「规则集」页面,检查目标规则集是否带有「活跃」标识,无标识则点击「设为活跃规则集」。
- 核对收件人条件匹配度:确保规则中的收件人地址与实际接收邮件的地址完全一致(含域名后缀),若使用域名作为条件,格式应为
@your-verified-domain.com,避免遗漏@符号或拼写错误。 - 验证邮件是否进入SES处理流程:查看SES控制台「邮件接收」→「统计数据」,确认邮件已被SES接收。若未统计到邮件,检查域名的MX、SPF等DNS记录是否正确配置,或邮件是否被上游服务商拦截。
- 检查Lambda权限配置细节:确认Lambda资源策略中,服务主体为
ses.amazonaws.com,资源ARN指向目标Lambda函数,且添加了SES规则ARN作为调用条件(避免权限无效)。可通过Lambda控制台「配置」→「权限」→「资源策略」查看。 - 排查邮件是否被隔离:SES会自动隔离垃圾邮件、病毒邮件或不符合合规要求的邮件,这类邮件不会触发规则。在SES控制台「邮件接收」→「已隔离的邮件」中查看是否有目标邮件。
- 查看CloudWatch日志定位问题:进入Lambda函数对应的CloudWatch日志组,检查是否有调用记录。若有调用记录但执行失败,排查Lambda代码逻辑;若无调用记录,说明规则未触发,回到前面的步骤重新排查。
内容的提问来源于stack exchange,提问作者Amol Borkar
相关产品推荐
相关产品推荐

