我正在使用Amazon SES发送交易应用程序电子邮件。我想要系统发送的每封电子邮件的审核日志。
例如,我可能希望查看我们发送给john.smith@example.com的每封电子邮件的日志。
我遵循了使用Cloudwatch to log SES events的说明。但是,这实际上仅记录指标,而不记录数据日志。因此,我在Cloudwatch中看到的只是一个图表,该图表显示了“指标”标签下在不同时间发送了多少电子邮件。我无法在任何地方搜索日志以查找单个SES事件。
我也研究了使用Cloudtrail to log SES events,但是Cloudtrail仅记录管理事件。它不记录诸如电子邮件发送之类的数据事件。
我对所有SES事件(例如发送或退回)都设置了SNS通知。这确实有用,但是并没有达到我拥有长期审核日志的目的。
据我所知,亚马逊不支持我要记录的日志类型。也许我可以在生成事件时将事件写到我们的应用程序数据库中,但是不得不引入自己的自定义日志记录系统似乎很可惜。
有人知道让AWS存储我的SES数据事件的方法吗?
答案 0 :(得分:1)
是的,Amazon没有您所要求的易于监视的方法,一个更简单的解决方案是每当将任何电子邮件发送到john.smith@example.com时,都添加一个配置集标头和一个唯一的消息标签。设置后,您可以启用Cloudwatch或首选SNS Destination并使用以下链接创建交付信息中心: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/bouncecomplaintdashboard.html
这不是日志,但它会创建一个不错的电子邮件详细信息excel文件,可用于审核。
答案 1 :(得分:0)
我为此与AWS开了张票,这是他们的回应。
我了解您想知道SES是否提供有关SES接受以可搜索格式传送的电子邮件事件的日志。如果我错了,请纠正我。
SES为每个事件(发送,退回,投诉)提供日志作为通知[1],它没有以统一的方式提供事件日志,这有助于根据电子邮件地址和搜索目的建立索引。但是,在SNS中,您可以配置各种订阅者(例如,电子邮件,SQS,Lambda,HTTP终结点),在其中将以JSON格式发送日志。在Lambda和HTTP Endpoint等SNS的目的地或电子邮件中,您可以解析JSON文件并以合适的格式存储,这将有助于索引和搜索。
如果正在使用SQS,则每个JSON日志将单独存储在SQS队列中一段时间。您可以定期查询SQS终结点并检索日志,并将其整合到一个文件中,然后将其用于分析。
此外,不幸的是,SES并未为接受送达的电子邮件提供任何其他格式的日志。
如果您需要进一步的帮助,请告诉我,我们很乐意为您提供帮助。
参考文献:
[1]。 https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-using-notifications.html