我使用Javamail连接到AWS电子邮件服务;我已经测试过我可以使用此代码接收电子邮件,但我还希望获得有关已发送电子邮件的数据的响应,例如AWS用于唯一标识邮件的消息ID。
我使用MimeMessage创建了一封电子邮件,我在try catch块中发送了这段代码:
transport.sendMessage(message, message.getAllRecipients)
此代码只会向AWS服务器发送一封电子邮件,但我无法获取任何元数据。有没有办法监听响应以查看消息是否成功,以便我可以检索消息ID?
答案 0 :(得分:0)
如果sendMessage方法返回,则服务器接受该消息。但请注意that doesn't necessarily mean it will be delivered to the recipient。但此时您可以使用getMessageID方法检索邮件ID。
如果send方法抛出异常,服务器由于某种原因拒绝接受该消息,并且不会被发送。
答案 1 :(得分:0)
为您的java邮件属性添加属性mail.smtp.reportsuccess
和mail.smtp.sendpartial
,如果发送电子邮件成功,您将获得SMTPAddressSucceededException
或SMTPAddressFailedException
失败。