2011-05-08 46 views
1

下面的代碼使用javamail的API來訪問Gmail,如何使用POP3檢索Gmail子文件夾/標籤?

String host = "pop.gmail.com"; 
    int port = 995; 
    Properties properties = new Properties(); 
    properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); 

    final javax.mail.Session session = javax.mail.Session.getInstance(properties); 
    store = session.getStore("pop3s"); 
    store.connect(host, port, mCredentialaNme, mCredentialApss); 

// *************************************************************** 
Folder personalFolders[] = store.getDefaultFolder().list("*"); 
    // *************************************************************** 
    for (Folder object : personalFolders) { 
     // *********************************** 
     System.out.println(object.list("*"));  
     // *********************************** 
     if ((object.getType() & javax.mail.Folder.HOLDS_MESSAGES) != 0){ 
      object.open(Folder.READ_ONLY); 
      Message messes[] = object.getMessages(); 

      System.out.println(object.getFullName()); 
      System.out.println("===================="); 
      for (Message object1 : messes) { 
       System.out.println(object1.getFrom() + " - " + object1.getSubject()); 
      } 
      object.close(false); 
     } 
    } 

if (store.isConnected()) { 
     store.close(); 
    } 

麻煩的是,該代碼僅列出收件箱文件夾,而沒有定義小於20級的標籤。 應該做些什麼才能讓代碼列出/訪問這些嵌套的文件夾/標籤?

回答

5

不要使用POP,如果您想要標籤/文件夾,請使用IMAP。

javamail docs指出的那樣,由於POP協議的性質,一個POP郵件存儲總是

只包含一個文件夾,「收件箱」。

+0

Ooops ...謝謝 – Everyone 2011-05-08 06:27:59