如何使用JavaMail获取邮件帐户中的可用文件夹列表

我正在使用JavaMail

API连接到我的个人帐户。我在自己创建的Gmail帐户中有文件夹(标签)列表以及默认的文件夹(如收件箱,草稿等)。如何列出所有可用的文件夹(默认和创建的用户)?

我可以使用以下API访问特定的文件夹:Folder inbox =

store.getFolder("Inbox");。是否有其他API可以获取邮件帐户中可用的文件夹列表?

回答:

这是有效的代码。这将使您处理所有标签。要深入了解folder,您可以执行,也可以按照其他答案的建议folder.list()使用store.getDefaultFolder().list("*")来检索所有文件夹和子文件夹。

Properties props = System.getProperties();

props.setProperty("mail.store.protocol", "imaps");

Session session = Session.getDefaultInstance(props, null);

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

store.connect("imap.gmail.com", "YOURMAILID@gmail.com", "UR_P@ZZWRD");

System.out.println(store);

Folder[] f = store.getDefaultFolder().list();

for(Folder fd:f)

System.out.println(">> "+fd.getName());

输出:

收件箱

个人

收据

旅行

工作

[Gmail]


老答案

请注意,这是不正确的,它是在正确地指出这个答案由dkarp

这些应该做:

http://java.sun.com/products/javamail/javadocs/javax/mail/Store.html#getSharedNamespaces%28%29

http://java.sun.com/products/javamail/javadocs/javax/mail/Store.html#getUserNamespaces%28java.lang.String%29

以上是 如何使用JavaMail获取邮件帐户中的可用文件夹列表 的全部内容, 来源链接: utcz.com/qa/408250.html

回到顶部