2011-08-01 3 views
0

を使用してメールのリストから特定の未読メールをされて見つける -は私のアプローチは、JavaMailの

  1. 総メールリストを取得する -

    List<Message> totalMessageList = Arrays 
          .asList(folder.getMessages()); 
    
  2. のみ未読メールがあり、この外のリストを作成します。 。 (私は新しいメールのリストを取得する任意の直接的なAPIを見つけることができなかったこれだってをしなければならなかった。hereに投稿されたメッセージが未読であるかどうかを見つけるのに役立ったかを一つの質問)

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

    を簡潔にするために私は総メールのリストから未読メールのリストを作成するという完全なロジックを投稿していません。未読メールのリストを

  3. 反復>すべてのメールは、そのようなメールは、その後IllegalStateExcepton

が今私の質問はスロー見つからない場合>メールの内容を読んで、その後対象を希望しているかどうかをチェック - 私は上の改善でしたこのアプローチ?

+0

それを試していません空のメールボックスが不正な状態になっていると奇妙に思えるかもしれません。 – Atreys

+0

私はGmailを使用していることを言及しているに違いありません。 – Tarun

+0

Nop、空でないメールボックス、IllegalStateExceptionをトリガーするために使用していた新しいメールがありません。これがなければ、より良い例外になる可能性があります。 – Tarun

答えて

1

あなたは、例えば、関連検索語と

Folder.search(SearchTerm): Message[] 

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

を使用することができますFlagTermは未読フラグのためにGoogleで

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

関連する問題