Java Mail: Emails sortieren?

beta20

Top Contributor
Hallo,

wie schaffe ich es, dass ich Emails sortieren kann?
Ich würde gerne zB für den Start meine Emails nach Datum sortieren, also alle neuen Emails zuerst anzeigen und dann die älteren:

Ich verstehe nicht so ganz wie man "SortTerm" anwenden muss.

Im Moment lade ich nur einen Teil der Nachrichten:
Message[] messages = emailFolder.getMessages(start, end);

-> Die Nachrichten sollen aber dennoch sortiert werden

Danke für jede Hilfe
 
Zuletzt bearbeitet:
Ja, danke...
Aber ich habe folgendes Problem - wie kann ich nur einen Teil der Nachrichten ausgeben und gleichzeitig sortieren?

Im Moment sieht das so aus:
Java:
SortTerm sortTerm[] = new SortTerm[] { SortTerm.REVERSE, SortTerm.DATE };
Message[] messages = emailFolder.getMessages(start, end);
messages = ((IMAPFolder) emailFolder).getSortedMessages(sortTerm);

Das Problem ist nun aber, dass bei der Anwendung der Sortierung (messages = ((IMAPFolder) emailFolder).getSortedMessages(sortTerm)😉 dann wiederum alle Emails geladen werden, was ich nicht möchte.
Ich möchte gerne nur die eingeschränkten Menge die Emails sortieren...

Wie mache ich das?
 
kannst du nicht einfach das Message Array sortieren?

Nein, wenn ich das hier sortiere:
SortTerm sortTerm[] = new SortTerm[] { SortTerm.REVERSE, SortTerm.DATE };
Message[] messages = emailFolder.getMessages(start, end);

-> Dann werden nur die Emails die hier geladen sortiert.
Ich möchte aber die Sortierung auf ALLEN Emails anwenden, aber eben zB nur davon die 50 Emails zurückgeben...



Kenne mich mit der API auch nicht aus, aber laut Online-Doku gibt es eine 2. Methode wo man noch ein Kriterium übergeben kann:


Diesen SearchTerm kann man selber implementieren:

Oder nimmt wohl einen der bereits bestehenden:

-> Dann besteht immer noch die Frage, wie ich zunächst die Anzahl einschränken kann und darauf die Sortierung anwenden?
In dem Kriterium gebe ich doch nur die Sortierung oder ein Suchkritierium an?
 

Zurück
Oben