Java Amazon SimpleMail:如何检查电子邮件是否已发送?

Java Amazon SimpleMail:如何检查电子邮件是否已发送?,java,amazon-web-services,amazon-ses,Java,Amazon Web Services,Amazon Ses,我尝试用AmazonSES和JavaAWSSDK发送电子邮件,结果成功了。我希望能够(稍后)检查交付是否成功。如果最终的邮件服务器接受邮件进行传递,我将定义为成功 我看到,当您发送电子邮件时,您可以获得唯一标识您电子邮件的messageId: SendEmailRequest request = new SendEmailRequest(from, destination, message); SendEmailResult result = service.sendEmail(

我尝试用AmazonSES和JavaAWSSDK发送电子邮件,结果成功了。我希望能够(稍后)检查交付是否成功。如果最终的邮件服务器接受邮件进行传递,我将定义为成功

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

    SendEmailRequest request = new SendEmailRequest(from, destination, message);
    SendEmailResult result = service.sendEmail(request);
    String messageId = result.getMessageId();
但是,我发现您只能获得聚合的统计信息,例如SendDataPoint(表示发送统计信息数据。每个SendDataPoint包含15分钟发送活动的统计信息)

我不使用SES发送大量电子邮件,而是以非常小的容量发送个性化通知,我有兴趣查看每一条消息


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

亚马逊为您提供了捕获反弹的机制,为您提供了反向验证

您可以创建一个邮箱来接收跳出通知,然后告诉SES在那里转发跳出通知。e、 g:

request.setReturnPath("bounces@example.com");
然后,您可以编写代码定期检查该邮箱,并解析目标电子邮件地址的消息

亚马逊在此简要介绍了他们如何处理反弹和投诉:


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

我们使用。只需将
ReturnPath
设置为
bounces@bouncely.com
并跟踪所有反弹和垃圾邮件报告。它还有一个API,允许我们自动取消用户订阅。

使用Amazon Simple Notification Service,并定义一个HTTP端点,以便在电子邮件反弹时接收通知。非常好。

谢谢卡特·佩奇,这很遗憾,因为他们拦截了反弹,所以理论上他们可以多做一步。我知道,一旦电子邮件发送到远程邮件服务器,我们就不知道在那里内部做了什么。我可以采取的另一种方法是检查用户是否单击了他们应该查看的文档的链接。我想现在我只需要将回跳发送到我的邮箱中,因为它的容量很小,需要集中精力完成应用程序的其他部分。再次感谢你!答案是:不,亚马逊SES不允许电子邮件发送检测?更新:这项服务似乎已经关闭。