我们已将电子邮件服务从 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更像是一种原始电子邮件发送服务,不提供您正在寻找的任何更高级别的功能。