2011-12-15 9 views
0

小さなプロジェクトでaddMessageCountListener(POP3プロトコル用)を使用しようとしていますが、動作しません。addMessageCountListenerがjavamailで機能しない

これは私がリスナーを追加したコードです:

ここ
protected void openFolder() { 
    try { 

     this.inbox = this.store.getFolder("INBOX"); 

     if (inbox == null) { 

      throw new Exception("No POP3 INBOX"); 

     } 

     this.inbox.open(Folder.READ_WRITE); 

     this.inbox.addMessageCountListener(new MessageCountAdapter() { 

      public void messagesAdded(MessageCountEvent ev) { 

       System.out.println("Event"); 

       Message [] msgs = ev.getMessages(); 

       for (Message msg : msgs) { 

        System.out.println("msg"); 

        System.out.println(AbstractReceiverClient.getTextFromMsg("email", "subject", msg)); 
       } 
      } 

      public void messagesRemoved(MessageCountEvent ev) {} 
     }); 
    } 
    catch(Exception e) { 
     System.out.println(e.getMessage()); 
    } 
} 

、私は5秒あたりのメッセージ数をサーバーに尋ねます。

public void worker() { 
    try { 
     while(true){ 
      java.lang.Thread.sleep(5000); 
      System.out.println(this.inbox.getMessageCount()); 
     } 
    } 
    catch(Exception e){} 
} 

その結果、メッセージの数(g.e. 18)しか表示されませんが、programmの実行後にメッセージを送信しました。

PS。助けてくれてありがとう

答えて

0

POP3プロトコルでは、開いているときに新しいメッセージがあなたのINBOXに表示されないためです。

+0

ありがとうございました。私は新しいメソッドrefreshFolderを追加しなければならなかった。ここで私はフォルダを閉じて、もう一度それを取得する。 – Rusfearuth

+0

それは最終的には機能しましたか?私はあまりにも、デバイスからの受信メールと送信メールを監視したい。 – Napolean

関連する問題