1

javax.mail.search.SentDateTerm以外に、特定のMovemailフォルダー で最新のメッセージを取得するための良い方法は何ですか?

Javaドライバーが見つかりませんが、doveadmが最適な方法のようです。ただし、統合されたUbuntuスタックによって構成の煩わしさが軽減されたとしても、私はむしろpostfix内にとどまり、POP3(またはIMAP)の使用にそれほど熱心ではありません。javax.mail.searchに代わるものはありますか?

javax.mail.search.SentDateTermで見られる問題は、フォルダーを反復処理する必要があることです。これは、大きなフォルダーの場合、問題になる可能性があります。この場合、送信日による「最新の」メッセージのみが必要です。

Thunderbirdを使用してPOP3を読み取っていますが、mailutilsタイプのフォルダーを使用していて、スタックのように一番上のメッセージをポップしたいと考えています。本当に、最新のメッセージが一番上にあるThunderbirdを見たのと同じものです。

ファイルシステムを使用してメールをソートすることに頼ることは可能かもしれないと思います。

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

トップメッセージをつかむためにそれらの線に沿ってJavaで何か?ただし、より適切なオプションがある場合にファイルシステムを直接使用することは、脆弱であり、一般的には悪い考えのようです。おそらく、Javaが利用できるmailutilsまたはpostfixフックがいくつかありますか?既存のAPI?

サンプルコマンドの問題の1つhead /var/mail/rootは、トップメッセージを取得するのに対し、特定のフォルダーのトップメッセージを追跡していることです。

POP3をdovecotに切り替えましたが、ポップされたメッセージを操作するための良い方法を探しています。これはおそらく最善のアプローチですが、フォルダ全体を反復処理せずに、トップまたは最新のメッセージを取得するにはどうすればよいですか?

参照: https ://stackoverflow.com/questions/12129820/dovecot-doveadm-java-api

4

1 に答える 1

1

送信日までに本当に最新のメッセージが必要な場合は、すべてのメッセージを確認する必要があります。受信日までに最新のメッセージが必要な場合は、それが簡単です。これが受信トレイの最後のメッセージです。

于 2012-08-26T18:01:16.567 に答える