java imap Abrufen von Nachrichten seit einem Datum

7

Ich schreibe / lerne E-Mails mit Java aus einem IMAP-Ordner mit dem Paket javax.mail abzurufen. Ich konnte die letzten n Nachrichten in einem Ordner erfolgreich abrufen. Ich möchte jedoch ein Beispiel erstellen, um Nachrichten seit einem bestimmten Datum abzurufen. Irgendwelche Beispiele?

    
Chaitan 15.05.2009, 17:52
quelle

5 Antworten

22

Sie können auch die SearchTerm-Klassen im Java-Mail-Paket verwenden.

%Vor%

Eine Kombination der oben genannten sollte sich als eine bessere Möglichkeit erweisen, Daten innerhalb eines bestimmten Bereichs zu erhalten.

    
Nick Stuart 15.05.2009, 20:11
quelle
5
%Vor%     
Javed Ahmed 24.06.2010 06:37
quelle
2

Anstatt alle Nachrichten abzurufen, sollten Sie versuchen, die serverseitige Suche zu nutzen. Dies funktioniert mit der Methode search von javax.mail.Folder . Wahrscheinlich müssen Sie Ihre eigene SearchTerm basierend auf einem Kriterium in Message.getReceivedDate () schreiben.

Wenn die serverseitige Suche nicht funktioniert, können Sie versuchen, ein Abrufprofil zu verwenden, d. h. anstelle von inbox.getMessages () verwenden Sie inbox.fetch (Message [] msgs, FetchProfile fp). Das Javadoc zum Abrufen lautet: Clients verwenden diese Methode, um anzugeben, dass die angegebenen Elemente für den angegebenen Nachrichtenbereich en masse benötigt werden. Es wird erwartet, dass Implementierungen diese Elemente für den gegebenen Nachrichtenbereich auf effiziente Weise abrufen. Beachten Sie, dass diese Methode nur ein Hinweis auf die Implementierung ist, um die gewünschten Elemente vorab abzurufen.

    
diciu 15.05.2009 19:39
quelle
0

Hier ist, was ich mir ausgedacht habe. Das funktioniert für mich, aber wahrscheinlich nicht der beste Weg. Irgendwelche Vorschläge, um das zu verbessern?

%Vor%     
Chaitan 15.05.2009 18:24
quelle
0

Alle Mails im letzten Monat:

%Vor%     
Ray Hulha 01.09.2015 04:55
quelle

Tags und Links