AWS SES - 记录 SendEmail 和 SendRawEmail 调用 (SMTP)
AWS SES - Logging SendEmail & SendRawEmail calls (SMTP)
我们已将我们的电子邮件服务从 Mandrill 更改为 Amazon SES。我们将它与 SMTP 一起使用。
在 Mandrill 中,我们可以访问一些详细信息,例如:
- 电子邮件的原始内容
- 交货日期
- 是收件人查看的电子邮件
- 是否点击了电子邮件中的链接
但在 SES Management Console > Sending Statistics
页面中,它只显示数字,而没有任何有关送货、退回、投诉和拒收的详细信息。
我研究过 CloudTrail、CloudWatch 和 S3 的组合,但没有成功。我也不确定这是否仍然有效,但 this page 说
All Amazon SES APIs except for the email-sending APIs (SendEmail and SendRawEmail) are supported.
所以我似乎无法使用 CloudTrail 记录这些数据。
我可以通过其他方法(可能是第三方工具吗?)记录它们。其他人如何记录这些?或者他们呢?也许 SMTP 不可能,但只有 API?
才有可能
示例场景
We're using multiple IAM access keys (with multiple users) for SES. Let's say there is 50% increase in complaints. Doesn't AWS offer any tool to find the culprit access key?
对于原始内容日志记录,您必须通过某些记录所有内容的服务来代理 SMTP 请求,然后将其发送到 SES,或者在调用 SES 之前仅在代码中记录所有内容。
对于交付率,您必须设置 SNS 侦听器才能处理 SES bounce notifications。
对于查看的电子邮件和点击的链接,您必须构建自己的分析服务以添加对您发送的电子邮件的跟踪,或者寻找一些第三方服务来为您完成这项工作。
SES 比其他电子邮件服务(如 Mandrill)便宜很多是有原因的,因为您无法获得其他服务提供的所有功能。老实说,如果你想要点击跟踪分析之类的东西,我建议你重新考虑离开 Mandrill,或者看看其他电子邮件服务,比如 SendGrid。 SES 更像是一种原始电子邮件发送服务,不提供您正在寻找的任何高级功能。
我在尝试轻松访问 Amazon SES 向谁发送电子邮件、在什么时间发送电子邮件等时发现了这个线程。我发现 Amazon 上的教程非常有用:
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 查询视图 "log" 数据。他们确实有一个新的查询工具,所以如果你不想的话,你不必使用 JDBC/ODBC。
希望这会帮助其他人寻找...
我们已将我们的电子邮件服务从 Mandrill 更改为 Amazon SES。我们将它与 SMTP 一起使用。
在 Mandrill 中,我们可以访问一些详细信息,例如:
- 电子邮件的原始内容
- 交货日期
- 是收件人查看的电子邮件
- 是否点击了电子邮件中的链接
但在 SES Management Console > Sending Statistics
页面中,它只显示数字,而没有任何有关送货、退回、投诉和拒收的详细信息。
我研究过 CloudTrail、CloudWatch 和 S3 的组合,但没有成功。我也不确定这是否仍然有效,但 this page 说
All Amazon SES APIs except for the email-sending APIs (SendEmail and SendRawEmail) are supported.
所以我似乎无法使用 CloudTrail 记录这些数据。
我可以通过其他方法(可能是第三方工具吗?)记录它们。其他人如何记录这些?或者他们呢?也许 SMTP 不可能,但只有 API?
才有可能示例场景
We're using multiple IAM access keys (with multiple users) for SES. Let's say there is 50% increase in complaints. Doesn't AWS offer any tool to find the culprit access key?
对于原始内容日志记录,您必须通过某些记录所有内容的服务来代理 SMTP 请求,然后将其发送到 SES,或者在调用 SES 之前仅在代码中记录所有内容。
对于交付率,您必须设置 SNS 侦听器才能处理 SES bounce notifications。
对于查看的电子邮件和点击的链接,您必须构建自己的分析服务以添加对您发送的电子邮件的跟踪,或者寻找一些第三方服务来为您完成这项工作。
SES 比其他电子邮件服务(如 Mandrill)便宜很多是有原因的,因为您无法获得其他服务提供的所有功能。老实说,如果你想要点击跟踪分析之类的东西,我建议你重新考虑离开 Mandrill,或者看看其他电子邮件服务,比如 SendGrid。 SES 更像是一种原始电子邮件发送服务,不提供您正在寻找的任何高级功能。
我在尝试轻松访问 Amazon SES 向谁发送电子邮件、在什么时间发送电子邮件等时发现了这个线程。我发现 Amazon 上的教程非常有用:
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 查询视图 "log" 数据。他们确实有一个新的查询工具,所以如果你不想的话,你不必使用 JDBC/ODBC。
希望这会帮助其他人寻找...