2011-01-11 8 views
0

제목에 getFolder ("INBOX");JavaMail을 사용하여 POP3받은 편지함 폴더를 가져 오려고하면 이메일이 수신되지 않습니다.

어제 작동했지만 디버깅 할 때 아무 것도 변경하지 않은 것 같아서 메시지가 표시되지 않습니다.

public String[][] fetchEmails() throws Exception { 

     String[][] emailArray; 

     Properties props = new Properties(); 

     Session session = Session.getDefaultInstance(props, null); 

     Store store = session.getStore("pop3s"); 

     store.connect("pop.gmail.com", "******@googlemail.com", "********"); 

     Folder folder = store.getFolder("INBOX"); 

     folder.open(Folder.READ_ONLY); 

     int howmuch = folder.getMessageCount(); 
     Message message[] = folder.getMessages();//The int = 0, which shows something has gone wrong, message is an empty array.* 

     ....... 

     folder.close(false); 
     store.close(); 

    return emailArray; 
} 

아무 것도 도움이 될 수 있지만 나를 미치게했습니다.

+0

, 즉 어떤 원인이 될 수 갈등? – Rhys

+0

계정의받은 편지함에 여전히 메시지가 포함되어 있습니까? – dkarp

+0

대신 IMAP받은 편지함을받는 대신에 멈추는 이유를 모르겠다. – Rhys

답변

0

프로젝트의이 부분을 다시 방문한 지 몇 달이 지난 후에도 이러한 일이 다시 발생했습니다. 잠깐만. 그러면 코드를 변경하지 않고도 메일을 다운로드하지 않습니다.

0

GMail에 문제가 있다고 거의 말할 수 있습니다. 저는 Gmail과 javamail 코드에서이 문제를 경험했습니다. 주기적으로 a) 인증에 실패하거나 b)받은 편지함이 비어 있다고보고합니다.

1

팝업 프로토콜을 사용하여 메일을 읽은 후 클라이언트에 다운로드하면 팝업 서버에서이 메시지가 한번 삭제됩니다. store.close()이 실행됩니다. 프로그램을 실행하면 그래서 다시에만 새 메일은 인출 (즉, 어떤 팝 클라이언트를 통해 이전에 인출되지 않습니다 그 메일)

도 참조 : 내가 어제 글래스 피쉬를 설치 http://en.wikipedia.org/wiki/Post_Office_Protocol#Overview

관련 문제