2011-01-09 85 views
0

我正在使用groovy來訪問Gmail並閱讀收件箱。這是普通的JavaMail,在這裏不會描述它。用groovy閱讀電子郵件(Java Mail)

所以爲了簡單起見,以後我連接到店裏,我用這個:

folder.open(Folder.READ_ONLY) 

folder.messages.each { msg -> 
    ... 
    doSomething with msg 
... 
} 

這是工作的罰款。

但是我有一個性能問題。有時消息[]可能很大。某些文件夾包含超過1000條消息,檢查它們都需要時間。

我正在尋找一種更快的方式來獲得只有那些

當然

我有最新信息在每個味精和最近的(從過去5天或類似的東西,例如郵件)郵件我可以做我的比較,但是這樣做效率不高,因爲它會遍歷整個集合。

有沒有更好的方式來獲得這些消息?

回答

1

如果您的JavaMail問題SEARCH命令的標準爲SINCE 04-JAN-2011,您將從1月4日起恢復當前選定文件夾中的設置消息。 (SENTSINCE 04-JAN-2011會做同樣的事情,只是基於「日期」郵件頭。)沿此線

東西:

folder.search(new ReceivedDateTerm(ComparisonTerm.GE, sinceDate)); 
+0

它的工作,非常感謝,我不知道這個功能。儘管我沒有測量速度,但速度明顯提高,但它很明顯。再次感謝 :-) – 2011-01-09 23:14:34