8

我尝试使用 Amazon SES 和 Java AWS 开发工具包发送电子邮件,并且成功了。我希望能够(稍后)检查交付是否成功。如果最终的邮件服务器接受邮件进行投递,我将定义它成功。

我看到当您发送电子邮件时,您可以获得一个唯一标识您的电子邮件的 messageId:

    SendEmailRequest request = new SendEmailRequest(from, destination, message);
    SendEmailResult result = service.sendEmail(request);
    String messageId = result.getMessageId();

但是我看到您只能获得汇总的统计信息,例如使用 SendDataPoint(表示发送统计数据。每个 SendDataPoint 包含 15 分钟发送活动的统计信息)。

我没有使用 SES 发送批量电子邮件,而是使用非常低量的个性化通知,我有兴趣检查每条消息。

我忽略了什么吗?是否可以使用 SES 进行此类检查?

4

3 回答 3

5

亚马逊确实为您提供了一种捕获退回邮件的机制,它为您提供了相反的验证。

您可以创建一个邮箱来接收退回通知,然后告诉 SES 在那里转发退回通知。例如:

request.setReturnPath("bounces@example.com");

然后,您可以编写代码来定期检查该邮箱,并解析目标电子邮件地址的消息。

亚马逊在此处简要说明了他们如何处理退回邮件和投诉:

http://aws.amazon.com/ses/faqs/#37

但是,如果您想检查邮件是否避免了垃圾邮件过滤器或被最终用户阅读,那超出了 SES 的范围(尽管他们努力确保可传递性)。

于 2011-05-11T19:35:14.963 回答
3

我们使用Bouncely.com。您只需将其设置ReturnPathbounces@bouncely.com,它就会跟踪所有退回邮件和垃圾邮件报告。它还有一个 API,允许我们自动取消订阅用户。

于 2011-05-20T08:27:05.723 回答
0

使用 Amazon Simple Notification Service 并定义一个 HTTP 终端节点以在电子邮件退回时接收通知。完美运行。

于 2013-04-17T06:28:27.523 回答