2011-08-01 2 views
0

내 접근 방식을 사용하여 메일의 목록에서 특정 읽지 않은 메일을 찾는 것은 -JavaMail에

List<Message> totalMessageList = Arrays 
      .asList(folder.getMessages()); 
  • 만 읽지 않은 메일이있는이 밖으로 목록을 작성 -

    1. 이 전체 메일 목록을 가져옵니다 . (나는 새로운 메일의 목록을 얻을 수있는 직접적인 API를 찾을 수 없습니다이 사촌을해야했다. here을 게시 한 메시지를 읽지인지를 찾는 데 도움 여부를 질문 하나)

      List<Message> unreadMessageList = new ArrayList<Message>(); 
      

      을 간결함을 위해서 전체 메일 목록에서 읽지 않은 메일 목록을 작성하는 전체 논리를 게시하지 않았습니다. 읽지 않은 메일의 목록을

    2. 으로 반복> 어떤 메일이 그런 메일이 다음

    지금 내 질문은 IllegalStateExcepton을 던져 찾을 수 없습니다 경우> 메일의 내용을 읽을 주제를 원하는 경우 확인 - 나는에 향상시킬 수 이 접근법?

  • +0

    을 시도하지 않은 빈 사서함이 잘못된 상태에 있다는 것이 이상하게 보일 수 있습니다. – Atreys

    +0

    Gmail을 사용 중임을 언급해야합니다. – Tarun

    +0

    Nop, 비어 있지 않은 메일 상자, IllegalStateException을 트리거하는 데 사용하려는 새 메일이 없습니다. 이게 아니라면 더 나은 예외가 될 수 있습니다. – Tarun

    답변

    1

    당신은 관련 SEARCHTERM, 예를 들어, 함께

    Folder.search(SearchTerm): Message[] 
    

    http://javamail.kenai.com/nonav/javadocs/javax/mail/Folder.html#search%28javax.mail.search.SearchTerm%29

    를 사용할 수 그것을 읽지 않은 플래그 FlagTerm 구글에

    http://javamail.kenai.com/nonav/javadocs/javax/mail/search/FlagTerm.html

    빠른 검색에 유용 할 수 있습니다이

    http://www.java2s.com/Code/Java/Email/Searchthegivenfolderformessagesmatchingthegivencriteria.htm

    을 발견,하지만 난 당신의 응용 프로그램에 따라 그것을

    +1

    그냥 간단한 코드로 얼마나 많은 코드를 작성했는지 깨달았습니다. 감사합니다. – Tarun

    +0

    즐거운 시간 이었지만 사용 해본 지 꽤 오래되었지만, 내가 원하는 것의 대부분을 javax.mail이 얼마나 쉽게 만들었는지에 감탄했습니다. – strmqm