2012-08-26 29 views
1

除了javax.mail.search.SentDateTerm之外,在特定的Movemail文件夾中獲取最新消息的好方法是什麼?javax.mail.search獲取最新消息的替代方法

它看起來像doveadm是the way to go,雖然我找不到Java驅動程序。但是,我寧願留在Postfix中,也不太熱衷於使用POP3(或IMAP),儘管integrated Ubuntu stack緩解了配置的麻煩。任何javax.mail.search的替代品?

我在javax.mail.search.SentDateTerm中看到的問題是它需要迭代文件夾,對於大文件夾,這可能會造成問題。在這種情況下,我只需要發送日期的「最新」消息。

我使用雷鳥閱讀POP3,但使用的是mailutils類型的文件夾,並且想要彈出最上面的消息,就好像是stack。真的,就像你看到Thunderbird一樣,最新的消息在頂部。

我想,這可能是訴諸使用文件系統來排序郵件可行:

[email protected]:~# 
[email protected]:~# head /var/mail/root 
From [email protected] Sun Aug 26 00:41:11 2012 
Return-Path: <[email protected]> 
X-Original-To: [email protected] 
Delivered-To: [email protected] 
Received: by dur.bounceme.net (Postfix, from userid 0) 
    id AB90A1827DF; Sun, 26 Aug 2012 00:41:11 -0700 (PDT) 
To: <[email protected]> 
Cc: <[email protected]> 
Subject: ping 12:40 
X-Mailer: mail (GNU Mailutils 2.2) 
[email protected]:~# 

東西在Java中沿着這些線路搶頂消息?但是,看起來很脆弱並且通常只是一個壞主意,當可能有更好的選擇時直接使用文件系統。也許有一些Java可以利用的mailutils或postfix鉤子?現有的API?

示例命令head /var/mail/root的一個問題是它抓取頂部消息,而我在頂部消息在特定文件夾之後。

我已經切換到dovecot爲POP3,但我正在尋找一種好的方式來與消息已被彈出交互。這是probably the best approach,但是如何獲得頂級或最新消息而不是迭代整個文件夾?

參見:https://stackoverflow.com/questions/12129820/dovecot-doveadm-java-api

回答

1

如果你真的想要的最新消息,由發送日期,你必須看所有的消息。如果您希望收到的最新消息收到日期,則更容易 - 這是收件箱中的最後一條消息。

+0

剛剛獲取收件箱的大小,然後是最後一條消息-1? – Thufir

+0

這是最近收到的**消息,而不是最近發送的**消息。請記住,電子郵件是存儲和轉發的 - 在路徑的任何地方都可能出現任意延遲。 –

+0

足夠好的工作;) – Thufir