我已经通过java邮件发送了我的邮件,并在亚马逊上注册了我的电子邮件,以获得响应通知(退回,送达)等。
我如何才能成功地将这两个匹配来表示当我发送了邮件时,我发送的邮件具有以下通信响应。
注意:一切都已设置好(Webhooks可从AWS SNS获取响应)
我试着通过messageId来匹配它,但似乎亚马逊网络服务添加了一个与java邮件不同的messsageId。示例
MimeMessage msg = new MimeMessage(session);
msg.getMessageID(); // returns "<1619401941.3.1560500581268@Tinus-NB>"和来自AWS SNS响应的
"MessageId" : "7cd42bc4-e5c2-576b-a567-7eb9baa51cad" // directly
"Message" : "{\"notificationType\":\"Delivery\",\"mail\":{\"timestamp\":\"2019-06-14T08:38:55.113Z\",\"messageId\":\"0102016b5523c189-55acd572-ba3f-4750-aaae-b7019080f1ae-000000\",\"delivery\":{\"timestamp\":\"2019-06-14T08:39:03.043Z\",\"processingTimeMillis\":7930,\"smtpResponse\":\"250 2.0.0 OK 1560501543 f15si1572805ede.113 - gsmtp\"}}" // this is in the Message object in the JSON为了清楚起见,我想要将这两个匹配,以了解我发送了什么以及响应是什么。
我使用的是Java Mail,而不是AWS SDK lib
发布于 2019-06-14 21:55:17
无论您设置了什么,SES都会覆盖MessageID,因为它还需要知道是哪封电子邮件。在您的示例中,当从Javamail发送电子邮件时,在代码的最后部分,您可以打印来自SES的250 response code+消息ID,并将其与从SNS收到的消息ID进行匹配。当SES在SMTP会话中接受电子邮件时,它会给出250 ok+消息ID,并且在SNS通知中可以看到相同的消息ID。
发布于 2019-06-14 23:15:02
找到了,我只需要包括原始的标题

https://stackoverflow.com/questions/56594826
复制相似问题