2013-09-30 51 views
0

它只從收件箱中讀取新郵件,而我想閱讀所有郵件。 如何實現它?閱讀收件箱中的所有郵件

Folder folderInbox = store.getFolder("INBOX"); 
folderInbox.open(Folder.READ_ONLY) 
Message[] arrayMessages = folderInbox.getMessages(); 

回答

0

可否請你嘗試的方法Message[] messages = inbox.getMessages(startMessage, endMessage);,而不是Message[] arrayMessages = folderInbox.getMessages();

這裏startMessage和endMessage是整數值。從這裏採取的一個很好的例子 - enter link description here

Folder inbox = store.getFolder("inbox"); 
    inbox.open(Folder.READ_WRITE); // Folder.READ_ONLY 
    int messageCount = inbox.getMessageCount(); 
    System.out.println("Total Messages" + messageCount); 
    int startMessage = messageCount - 5; 
    int endMessage = messageCount; 

    if (messageCount < 5) { 
     startMessage = 0; 
    } 

    Message[] messages = inbox.getMessages(startMessage, endMessage); 
+0

我想上面的事..但我仍然得到messageCount爲0 –

+0

的messagecount始終提供收件箱中的郵件的總數。您的SMTP是否全部設置完畢,並在閱讀後保留電子郵件。僅供參考,許多SMTP確實在從服務器收件箱傳送後刪除電子郵件。檢查的一種方法是連接到Gmail收件箱並查看程序的行爲。 – gyan

+0

http://www.codejava.net/java-ee/javamail/download-attachments-in-e-mail-messages-using-javamail 這裏是代碼....您也可以嘗試...從我的郵件不會通過SMTP從收件箱中刪除。 –