2012-02-24 7 views
2

私のアプリケーションでは、JavaメールAPIを使用してバウンスされた電子メールレコードを受け取る1つのメールボックスを読み取ろうとしています。javax.mail.Message指定された日付範囲のメッセージを取得しようとしています

// Get a Store object that implements the specified protocol. 
store = session.getStore(protocol); 
//Connect to the current host using the specified username and password. 
store.connect(hostName, userName, password); 
folder = store.getFolder(folderName); 
Message[] messages = folder.getMessages(); 

しかし、これは私に提供されたフォルダ内のすべてのメッセージを返します。私は昨日特定の日付範囲で受信したメッセージを見つけることができる方法はありますか?

この点に関するお手伝いをいただければ幸いです。

バイバブ

答えて

1

次のように変更:

cal.add(Calendar.DAY_OF_MONTH, -1); 

// We would get the bounce mails received yesterday 

ReceivedDateTerm term = new ReceivedDateTerm(ComparisonTerm.EQ,newDate(cal.getTimeInMillis())); 

Message[] messages = folder.search(term) 

乾杯! Vaibhav

2

おかげでFolder.search()メソッドとjavax.mail.searchパッケージ内の多くの検索用語を参照してください。

IMAP検索はサーバー上で行われますが、時間ではなく日数のみが解決されることに注意してください。 POP3検索は、すべてのメッセージをクライアントにダウンロードして検索することによって行われます。おそらくあなたがしたいことではありません。私は私の期待通り、この作品を作るためにやった

+0

ありがとうございました! – vaibhav

関連する問題