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

标签 java jakarta-mail

我正在开发一个 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/

相关文章:

java - 创建表时出现 MySQL 语法错误 - Java

java - 我有一个包含 14 个值的 ArrayList,但出现 IndexOutOfBounds 异常。我检查它们是否为空并打印了值

java - 如何确保该按钮已被选中?

java - 我可以强制在 MimeMessage 中发生 UnsupportedEncodingException 吗?

java - 来自 liferay 邮件中的地址

java - 如何将 Java 注解添加到 JNI SWIG API?

java - 在 Tomcat 上访问 wsdl

java - javax.mail 的 mail.debug=true 选项应该做什么?

java - 从bluemix上的Liberty服务器调用javamail api

java - 为什么遍历所有 java 邮件用户的文件夹非常慢?