我正在开发一个 Java 应用程序,它监听和接收 IMAP 文件夹事件,但是,我无法使以下代码正常工作。显然,我缺少一个重要的方法调用或配置。我应该怎么做才能获取文件夹事件?
IMAPSSLStore store = (IMAPSSLStore)session.getStore("imaps");
store.connect("host","username","pwd");
store.addFolderListener(new FolderListener() {
@Override
public void folderCreated(FolderEvent fe) {
//do something
}
@Override
public void folderDeleted(FolderEvent fe) {
//do something
}
@Override
public void folderRenamed(FolderEvent fe) {
//do something
}
});
for(;;) {
store.idle();
}
我尝试将监听器添加到文件夹并修改示例代码。我正在使用标准电子邮件客户端来测试文件夹创建和删除。但是,事件不会传递到我的 java 应用程序。感谢您的帮助。
最佳答案
不幸的是,IMAP 协议(protocol)不提供这些事件的通知,因此,如果应用程序中使用同一 Store 的另一个线程执行其中一项操作,JavaMail 只能通知您这些事件。
关于JavaMail - Java 应用程序不接收文件夹事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47957209/