AWS SES 审计

Posted

技术标签:

【中文标题】AWS SES 审计【英文标题】:AWS SES auditing 【发布时间】:2020-05-26 15:20:59 【问题描述】:

如果邮件发送成功与否,用户是否实际收到邮件,我需要维护数据库中的状态, 用于审计目的的电子邮件何时发送、电子邮件内容等。这个怎么做 ? AWS sdk 中有没有这方面的 API?

【问题讨论】:

【参考方案1】:

它并不像打开它那么简单,但 AWS 确实提供了您需要的所有部件。这就是我目前的做法

    打开 AWS 传送通知,这会将通知发送到 SNS 主题 让 SNS 主题将这些消息传递到 SQS 队列 让后台作业处理这些消息并将它们移动到 DynamoDB 数据库以进行永久存储。

关键部分是 #1,您如何处理 #2 和 #3 取决于您 - 如果我必须再做一次,我会使用 Lambda 为我接管 #3,而不是使用在专用 Ec2 实例。

您可以在此处找到有关送货通知的更多信息:

https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-sns-notifications.html#configure-feedback-notifications-console

还请记住,跟踪并不完美 - 没有电子邮件跟踪器是 - SES 使用一些与 mailchimp/constant contact 相同的技术来确定电子邮件是否被打开,但它远非万无一失。

【讨论】:

但是我如何接收 AWS SES 在主题中发布的响应? 在控制台中,您告诉 SES 要将响应发送到哪个 SNS 主题,然后您可以使用 SNS 控制这些消息的发送位置 - 即发送到 SQS 或您定义的某些 webhook。【参考方案2】:

您可以将 Amazon SES 配置为在您收到退回邮件或投诉或发送电子邮件时通知 Amazon SNS 主题。 Amazon SNS 通知采用 javascript Object Notation (JSON) 格式,使您能够以编程方式处理它们。

按照步骤操作:

    在 SNS 中创建主题

    订阅主题以获取传递通知(通知是 以 JSON 格式推送到 AWS SNS 主题)。

    通过以下方式之一订阅 SNS:

    拉姆达 SQS HTTP/S 电子邮件 短信

考虑到需要将JSON参数保存在db表中以供审计,您可以监听HTTP/S或SQS。

JSON 响应将包含有用的信息,如消息 ID、通知类型(如投诉、退回、递送等)。

【讨论】:

以上是关于AWS SES 审计的主要内容,如果未能解决你的问题,请参考以下文章

在 Amazon Redshift 日志上运行 AWS Glue 爬虫会创建大量表

Security传统审计(Traditional Auditing)

质量审计风险审计采购审计的区分

e语言代码如何审计

oracle 审计功能怎么配置

Oracle审计功能