IMAP列表扩展JAVA

Ydr*_*jen 6 java email imap jakarta-mail gmail-imap

我正在构建一个需要访问邮件特定文件夹的工具(例如'[Gmail]/Trash','[Gmail]/Sent').似乎这些名称已根据用户本地化设置进行了本地化,因此"[Gmail] /已删除邮件"会向西班牙用户显示为"[Gmail]/Papelera".

我读到了关于XLIST命令但现在不推荐使用IMAP LIST Extension(https://developers.google.com/gmail/imap_extensions#special-use_extension_of_the_list_command).

我试着这样做javax.mail.Folder.list("\ Trash"),但没有返回任何内容.

如何在JAVA中使用IMAP List扩展?

PS:使用多个电子邮件提供商,而不仅仅是Gmail.

ary*_*ann 0

这应该有帮助:

Properties props = System.getProperties();
    props.setProperty("mail.store.protocol", "imaps");
    try {
        Session session = Session.getDefaultInstance(props, null);
        javax.mail.Store store = session.getStore("imaps");
        store.connect("imap.gmail.com", "myemail@gmail.com", "mypassword");
        javax.mail.Folder[] folders = store.getDefaultFolder().list("*");
        for (javax.mail.Folder folder : folders) {
            if ((folder.getType() & javax.mail.Folder.HOLDS_MESSAGES) != 0) {
                System.out.println("foldername->"+folder.getFullName() + " folder msg count->" + folder.getMessageCount());
            }
        }
    } catch (MessagingException e) {
        e.printStackTrace();
    }
    catch (Exception e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)