无法使用JavaMail删除邮件

时间:2013-11-27 16:54:50

标签: java javamail

我正在使用JavaMail访问Exchange邮箱(对我工作的公司而言是私有的)。我的适用代码如下:

Store store = Session.getDefaultInstance(props, null).getStore("imap");
store.connect(...stuff...);
Folder inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_WRITE);
int numOfMessages = inbox.getMessageCount();
for (int i = 1; i<=numOfMessages; i++){
    Message message = inbox.getMessage(i);
    message.setFlag(Flags.Flag.DELETED, true);
    System.out.println(message.getSubject());
}
inbox.close(true);
store.close();

正在正确访问和打印所有消息名称。但是,每次运行时,它会反复打印相同的名称,表示它们实际上并没有删除。

解决方案我发现我在inbox.close(true)之前抛出了一个错误(在我认为不适用的代码中)。我不是把它标记为答案,因为这不是一个真正的答案。

1 个答案:

答案 0 :(得分:1)

尝试在saveChanges对象上调用Message方法。 Javadoc here