AWS SES - Logging SendEmail & SendRawEmail Call (SMTP)



我们已将电子邮件服务从 Mandrill 更改为 Amazon SES。我们正在将其与SMTP一起使用。

在Mandrill中,我们可以访问一些详细信息,例如:

  • 电子邮件的原始内容
  • 交货日期
  • 是收件人查看的电子邮件
  • 是否单击了电子邮件中的链接

但在SES Management Console > Sending Statistics页面中,它只显示数字,没有任何关于交付、退回、投诉和拒绝的详细信息。

我研究过CloudTrail,CloudWatch和S3的组合,但没有运气。我也不确定这是否仍然有效,但这个页面说

支持除电子邮件发送 API(SendEmail 和 SendRawEmail)之外的所有 Amazon SES API。

所以我似乎无法使用CloudTrail记录这些数据。

我可以通过其他方法(可能是第三方工具)记录它们吗?其他人如何记录这些?还是他们?也许使用 SMTP 是不可能的,但只有 API 才有可能?

示例方案

我们正在为 SES 使用多个 IAM 访问密钥(具有多个用户)。假设投诉增加了 50%。AWS 是否提供任何工具来查找罪魁祸首访问密钥?

我在尝试轻松访问 Amazon SES 向谁发送电子邮件、在什么时间等时发现了这个线程。 我发现亚马逊的教程非常有帮助:

https://docs.aws.amazon.com/ses/latest/DeveloperGuide/event-publishing-tutorials.html

我实际上尝试了所有四个。 我不知道如何让 CloudWatch 路径实际显示电子邮件的发送对象,但其他路径有效。 我最终选择了Amazon Redshift路径:

https://docs.aws.amazon.com/ses/latest/DeveloperGuide/event-publishing-redshift.html

它对我来说效果很好,并为"日志"数据提供了 SQL 查询视图。 他们确实有一个新的查询工具,所以如果你不想,你不必使用 JDBC/ODBC。

希望这能帮助其他人寻找...

对于原始内容日志记录,您必须通过某些服务代理 SMTP 请求,该服务会记录所有内容,然后将其发送到 SES,或者在调用 SES 之前仅记录代码中的所有内容。

对于传递速率,您必须设置 SNS 侦听器来处理 SES 退回通知。

对于查看的电子邮件和点击的链接,您必须构建自己的分析服务,以为您发送的电子邮件添加跟踪,或者找到一些为您执行此操作的第三方服务。

SES比Mandrill等其他电子邮件服务便宜得多是有原因的,这是因为您无法获得其他服务提供的所有功能。老实说,如果你想要像点击跟踪分析这样的东西,我建议你重新考虑离开Mandrill,或者看看其他电子邮件服务,如SendGrid。SES更像是一种原始电子邮件发送服务,不提供您正在寻找的任何更高级别的功能。

最新更新