首页 > 解决方案 > 如何从 JAVAMAIL 中的不同文件夹中获取电子邮件?

问题描述

我正在尝试使用 JAVAMAIL API 获取“已发送”文件夹,但它不起作用。
实际上,我通过以下代码检查了现有文件夹:

Store store = emailSession.getStore("imaps");

store.connect(imapHost, user, password);

javax.mail.Folder[] folders = store.getDefaultFolder().list("*");

   for(Folder f : folders) { 
             System.out.println("name: "+f.getName());
           }

结果

    名称:收件箱
    名称:垃圾
    名称:已发送
    名称:垃圾
    名称:草稿

我尝试了 2 个不同的电子邮件提供商(Gmail 和 Hostinger),但它不起作用.. 我可以获取INBOX文件夹,但它不适用于Sent文件夹,即使我用不同的字母大小写多次尝试......什么是请问有什么问题吗?

标签: javaemailgmailjakarta-mail

解决方案


在我做了更多研究之后,我发现getName()不是文件夹的真实名称,所以如果你想获得真实姓名,你必须使用 getFullname()

System.out.println("name: "+f.getFullName());

所以我得到了全名,我尝试使用它们,代码现在工作正常..


推荐阅读