2012-07-17 3 views
1

JavaMail을 사용하여 특정 폴더의 IMAP 전자 메일에 액세스하는 작은 도구를 구현하려고합니다. 그런 다음이 폴더에 새 이메일이 있는지 알려줍니다. 나는 읽지 않은 메시지를 아는 것에 반드시 관심이 없다. 메시지는 공유 사서함 시나리오에서 읽었을 수 있지만 나에게 아직 새 메시지 일 수 있습니다.Java로 새로운 IMAP 메일 확인하기

폴더를 읽고 최신 메시지의 UID를 저장하려고합니다. 다음에 내가 확인할 때 그 UID를 비교합니다. 그러나 전체 메시지 목록을 거치지 않고 날짜 및/또는 메시지 번호별로 정렬하지 않고 최신 메시지를 찾는 방법에 대한 Javamail 문서의 정보는 찾을 수 없습니다.

새 메시지를 찾는 더 좋은 방법이 있습니까? JavaMail에 폴더에 최신 메시지 만 전달할 수있는 쉬운 방법이 있습니까?

답변

1

IMAPFolder으로 전송하고 getMessagesByUID(long start, long end)LASTUID을 사용하십시오.

0

JavaMail API에는 몇 가지 검색 메커니즘이 있습니다. 다음과 같은받은 편지함 폴더를 검색 할 수 있습니다.

Message messages[] = inbox.search(new FlagTerm(new Flags(Flag.RECENT), true)); 

받은 편지함에는 읽지 않은 메시지 만 제공됩니다.

관련 문제