由于某种原因,我无法将那些看似简单的事情联系起来。
如何记录通过 AWS 简单电子邮件服务发送的所有电子邮件以及具体的消息详细信息?
该日志至少需要包含发送服务器的 IP 地址。但是,我确实TO
也需要该地址。背景故事 - 我们有几个使用此服务的服务器,当其中一个出现故障并开始发送数千封电子邮件时,我们会通过 Cloudwatch 监控收到警报 - 但无法找出哪个服务器实际上是在发送它们。
经过研究,你立即发现人们确实需要这个功能,但目前还没有这个功能。然而,较新的文章表明这是有可能的。
理想情况下,我已尝试使用事件发布到 Cloudwatch,如这两篇文章所述: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-using-event-publishing.html https://docs.aws.amazon.com/ses/latest/DeveloperGuide/event-publishing-add-event-destination-cloudwatch.html
- 我创建了一个新的 SES 配置集。
- 我向该配置集添加了一个云监控目标。
- 我指定了发送事件类型;拒绝;退回;投诉;交付;渲染失败
- 我选择了值为 、
Message Tag
名称为ses:source-ip
、默认值为source-ip
。
一段时间后,没有事件发布到 Cloud Watch。
文档对整个过程的描述并不十分清楚,并且没有通过示例详细说明。
有人建议我可能必须在我们发出的电子邮件中添加标题以便跟踪,但其他建议说有默认设置,而我实际上不必修改我们的发送行为。
细粒度– 这些指标按您使用消息标签定义的电子邮件特征进行分类。要将这些指标发布到 CloudWatch,您必须使用 CloudWatch 事件目标设置事件发布,并在发送电子邮件时指定配置集。您还可以指定消息标签或使用 Amazon SES 自动提供的自动标签。
还有一些关于使用 Kinesis Firehose 作为目的地的文档,其中展示了非常详细的消息信息的示例 - 这正是我想要的:https://docs.aws.amazon.com/ses/latest/DeveloperGuide/event-publishing-retrieving-firehose-examples.html#event-publishing-retrieving-firehose-send
我只是不知道这里该往哪个方向走以及如何设置。
我需要最简单的方法来记录看似基本的 SES 诊断信息,并在以后用于故障排除。很难相信这些信息不只是在 AWS 控制台的某个地方随时可用。
答案1
答案2
我首先对你的帖子发表了评论,然后突然,经过一整天的测试后,我意识到了这一点。
这一认识来自 AWS博客. 标题“消息标签如何工作?”
SendEmail/SendRawEmail
TLDR 是,如果您使用 AWS SES API 或X-SES-CONFIGURATION-SET: CONFIGURATION-SET-NAME
在使用 SMTP 凭据时添加标头,则会应用自动标签。
不幸的是,对于我们来说,没有便宜的方法来记录这种细节=)。
Kinesis 流似乎是唯一的选择。