2011-07-12 14 views
0

次のコードを使用してすべての電子メールを取得しようとしていますが、このコードはUNREADメッセージをすべて読み取りますが、すべての読み取り/未読電子メールを読み取りたいとします。すべての電子メールを読むには?

try { 
     Properties props = (Properties)System.getProperties().clone(); 
     session = Session.getInstance(props);  
     store = session.getStore("pop3s"); 
     store.connect(host,username,password); 
     folder = store.getFolder("INBOX");  
     folder.open(Folder.READ_WRITE); 
     Message[] message = folder.getMessages();  

     for (int i=0, n=message.length; i<n; i++) 
     { 
      System.out.println(i + ": " + message[i].getFrom()[0] 
      + "\t" + message[i].getSubject()); 
     } 
}catch (MessagingException e) {e.printStackTrace();} 

誰でも私にすべての電子メールを読むのを手伝ってください。

おかげ Monali

+2

pop3の設定を確認してください。すべてのメールはpop3で有効になっている場合にのみ表示されます。 –

答えて

1

POP3プロトコルと標準的な動作は、クライアントは通常、彼らはサーバから受信したすべてのメッセージを削除することです。 Autodeleteはプロトコルの一部ではありません。POP3クライアントがすべての電子メールを受信した後にコマンドを削除することは、多かれ少なかれ、POP3クライアントがコマンドを送信するという規則またはベストプラクティスです。

これによると、サーバーにはの読み取りメッセージはありません。あなたが読むことができるすべてのメッセージは未読です。サーバーにメッセージを残しても、フラグとして読み取れません。があります。

これは、メールが通常はメールクライアントから削除されている限り、メールがサーバーに残り続けるIMAPプロトコルとは異なります。

関連する問題