如何使用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