0

据我所知,如果您直接使用 store.close() 而不首先使用该方法folder.close(expungeYesOrNo),那么您将无法删除标记为删除的消息,并且该文件夹的 ConnectionListeners 将不会被激活,因为不会发送 CLOSED COnnectionEvent . 这个对吗?有什么补充吗?

先感谢您

编辑:在仔细检查 IMAPStore.cleanup() 后,我看到每个打开的文件夹都会调用 Folder.close(false) ..所以这段代码emailFolder.close(false) /* this one*/; emailStore.close();是多余的吧?(取自http://www.javatpoint.com/example-of-receiving-email-using-java-mail-api

4

2 回答 2

0

关闭 Store 也应该关闭所有文件夹,但它比调用 Folder.close 获得的受控关闭更像是一个“突然”关闭。

如果您知道文件夹何时完成并可以关闭它,那将比忘记文件夹并假设 store.close 会处理它更可靠和可预测。是的,关闭商店会尝试关闭所有文件夹,但是如果您查看过该代码并了解它在许多版本中是如何演变的,您就会知道它很复杂且容易出错。我现在想相信它是正确和可靠的,但我以前错了……

于 2013-11-01T00:52:58.667 回答
0

如果您关闭了整个商店,之后您将无法对商店进行任何其他操作。这肯定很明显吗?如果只是关闭文件夹,则无法对文件夹进行任何操作,但仍然可以对 store 进行操作。

于 2013-10-30T03:00:30.487 回答