前提:
必须开通aws的3个服务:SES、SNS、SQS
业务流程:
1. SES将消息(发送、退回、投诉、拒收)发送给SNS
2. SNS根据订阅接口,将消息推送给指定的SQS
3. SQS接收到消息后存入队列,供其他接口、程序轮循使用
配置流程:
1. 配置SQS
1-1. 创建新的队列,生成队列ARN(该ARN会在SNS订阅中使用)
2. 配置SNS
2-1. 创建新的Topic(主题),设定Name(该name会在SES通知中作为备选项),生成Topic ARN(该ARN会在SQS权限配置中使用)
2-2. 创建新的Subscriptions(订阅),设置消息接收对象(邮箱、SQS服务),如果设置SQS这里会使用SQS对应的ARN
3. 配置SQS权限
3-1. 添加权限,指定"条件" ArnEquals "键"aws:SourceArn "值"(SNS对应ARN)
4. 配置SES通知
4-1. SES >> Domain >> 点击域名 >> Notifications 中添加对应的设置。
测试:
1. 测试SNS与SQS的连通,在SNS中手动发送一条信息,查看SQS中的消息轮循是否有该消息
2. 测试SES与SNS的连通,通过SES SDK接口给不存在的邮箱地址发送邮件,看SQS中的消息轮循是否有该消息(注意:Deliveries设置似乎没有作用,也有可能是Deliveries消息有延时)