Ich benutze Javamail API, um E-Mails von einem Gmail IMAP-Server abzurufen.E-Mails einzeln mit Javamail API empfangen
Ich verwende Message[] messages = inbox.search(term)
, um alle E-Mails vom Server zu erhalten. Stattdessen wollte ich die Mails eins nach dem anderen holen, damit ich sie einzeln in der Datenbank speichern kann, anstatt das gesamte Array zu erhalten, damit ein anderer Dienst die E-Mails analysieren kann, anstatt auf alle E-Mails zu warten und dann zu parsen weil es ein zeitaufwendiger Prozess ist.
Ich nehme an, Sie könnten zuerst eine Liste von Nachrichten (https://developers.google.com/gmail/api/v1/reference/users/messages/list) bekommen, die die 'maxResults' auf 1 beschränken - die Nachrichten-ID erhalten und dann holen Sie es einzeln (https://developers.google.com/gmail/api/v1/reference/users/messages/get) - dann müssen Sie möglicherweise markieren Sie es als "lesen" (oder etwas - dh ein Label hinzufügen : https://developers.google.com/gmail/api/v1/reference/users/messages/modify) und wiederholen Sie den Vorgang, bis Sie alle Nachrichten abgerufen haben – ochi
@ochi lassen Sie mich versuchen, wenn das funktioniert. Gibt es etwas, das die API dafür anbietet? –
Nicht sicher, dass ich Ihre Frage verstehe, ich habe die relevanten API-Links zu meinem Kommentar hinzugefügt. Suchst du nach etwas anderem oder sprichst du von einer anderen API? – ochi