为了在我们的应用程序中测试通知,我正在使用 JavaMail 验证这些通知。我测试了带有和不带有附件的通知。对于没有附件的电子邮件,第一个测试运行良好。验证后,我会删除该电子邮件并从应用程序中发送另一个带有附件的通知。现在我面临这个问题。因为我的收件箱有 1 封电子邮件,但有两个线程(第一封没有附件的电子邮件和最新的带有附件的电子邮件都有相同的主题,因此最终在同一封电子邮件中有两个线程)。我的代码会引发错误,因为它需要一封带有附件的电子邮件,但读取的是没有附件的电子邮件。这意味着之前的通知没有被正确删除?我是这样做的:
//If all messages are read, mark the latest read message as deleted
if(folder.getUnreadMessageCount() == 0){
message.setFlag(Flags.Flag.DELETED, true);
}
//If any message is marked deleted, delete that message from folder
if(message.isSet(Flags.Flag.DELETED)){
folder.expunge();
}
我还添加了以下内容以 100% 确保第一个通知被永久删除:
folder.close(true);
我错过了什么吗?或者有没有办法区分电子邮件中的线程?