代码之家  ›  专栏  ›  技术社区  ›  Eagle

JavaMail-Java应用程序不接收文件夹事件

  •  0
  • Eagle  · 技术社区  · 8 年前

    我正在开发一个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应用程序。非常感谢您的帮助。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Bill Shannon    8 年前

    不幸的是,IMAP协议没有为这些事件提供通知,因此只有当应用程序中使用同一存储的另一个线程执行其中一个操作时,JavaMail才能通知您这些事件。