2011-12-15 1 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){} 
} 

은 결과, 난 그냥 메시지 (18 g.e.)의 수를 볼 수 있지만, programm에 실행 한 후 나는 메시지를 보냈습니다.

추신. 도움을 주셔서 감사합니다

답변

0

POP3 프로토콜이 열려있는 동안 새 메시지가 사용자의 INBOX에 나타나지 않기 때문입니다.

+0

감사합니다. 폴더를 닫고 다시 가져 오는 새 메서드 refreshFolder를 추가해야했습니다. – Rusfearuth

+0

마침내 효과가 있었습니까? 나는 너무 장치에서 들어오고 나가는 전자 우편을 감시하고 싶다. – Napolean

관련 문제