Amazon SES是一个经济高效的电子邮件平台,用户可以使用自己的电子邮箱地址和域,来发送和接受电子邮件。在实际应用场景中,我们需要对发送出去的电子邮件中,有多少是送达、退回或者投诉的,收集并分析这些详细信息,以帮助我们做出适当的业务决策。目前,SES提供各种指标,例如发送次数,拒绝次数等,但在发送电子邮件时,没有直接的方法来记录详细的信息,例如发送人的身份,收件人电子邮件身份,主题,时间戳,源IP地址等。
在这篇文章中,我们将学习使用Amazon SES、Amazon SNS、Amazon CloudFormation和Lambda集成,捕获有关退回邮件、投诉、送达成功的详细信息,并在Amazon CloudWatch中记录这些通知。借助集中式日志记录解决方案,我们可以跟踪收到退回、投诉或者送达的电子邮件地址或域,分析问题,CloudWatch可以长期保存这些记录,方便随时查看,也可以设置保留时间,将记录保存一定时间后过期。
#1
服务配置
配置SES邮箱认证
登录亚马逊云科技控制台,选择Amazon Simple Email Service服务,创建身份验证,类型选择邮箱,输入邮箱地址
身份创建后,发送验证邮件,去邮箱查看新收到的一封来自Amazon Web Services发过来的邮件,点击链接,验证邮箱。
配置SNS主题以捕获邮件发送或退回的详细通知
1.搜索SNS,选择Simple Notification Service
2.选择标准类型,输入主题名称,其它保持默认,点击创建
3.主题创建完成后创建订阅,协议选择电子邮件,终端节点输入刚才已验证的邮箱地址,其它保持默认,创建订阅;
4.建后,订阅状态为等待确认,需要去邮箱查看新收到的验证邮件。
配置SES邮件反馈通知
5.在SES控制台,选择刚才已验证的邮箱,在“通知”选项卡,点击“编辑”按钮
6.设置三种反馈通知,选择刚才创建的SNS主题。
配置CloudFormation模板
1.搜索CloudFormation服务,创建堆栈
2.选择选择上传模板文件
3.填写堆栈名称
4.填写参数,EventType这里选择要跟踪的事件类型,这里选择Bounce,“退回”事件
5.SNSTopicARN处输入在上一步中创建的SNS主题的ARN,然后点击下一步
6.其它配置保持默认,勾选确认并创建堆栈
7.等待堆栈创建完成,验证资源是否已创建
8.在SNS处验证是否已创建并确认对SNS主题的Lambda函数的订阅
9. 搜索Lambda服务,可以在Lambda控制台查看SNS和Lambda集成
发送测试邮件
1.在SES处选择已验证的邮箱,点击右上角的Send test email
2.选择Bounce,输入邮件主题和正文,然后发送测试邮件
3.查看邮箱,可以看到邮件事件通知以及被退回的邮件
#2
查看日志信息
登录CloudWatch控制台,查看日志
1.搜索CloudWatch服务,在左边选项栏,选择日志组
2.选择Bounce目录,可以看到刚才发送的测试邮件日志,点开就可以查看到详细的日志