Ich versuche, den E-Mail-Nachrichtentext mithilfe von Gmail-Java-APIs abzurufen. Ich bekomme alle Felder einschließlich to, from, subject
.Kann der E-Mail-Text, der Text oder HTML-Inhalt enthält, nicht mit der Gmail Java API abgerufen werden?
Aber ich bin nicht in der Lage die Textkörper, auch html Körper der E-Mail hier zu bekommen, ist mein Code-Fragment:
List<MessagePart> parts = message.getPayload().getParts();
StringBuilder textSb = new StringBuilder();
StringBuilder htmlSb = new StringBuilder();
for (MessagePart part : parts) {
if (part.getMimeType().equalsIgnoreCase("text/plain")) {
try {
textSb.append(new String(Base64.getDecoder().decode(part.getBody().getData()), "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
if (part.getMimeType().equalsIgnoreCase("text/html")) {
try {
htmlSb.append(new String(Base64.getDecoder().decode(part.getBody().getData()), "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
Ein Text-Schnipsel kurzer E-Mail Körper kann mit folgenden Verfahren erhalten werden (aber nicht voll Körper):
Aber das ist nicht genug in meinem Fall brauche ich ganzen Körperinhalt.
Während über MessageParts
in oben Schleife in Debugger Iterieren Ich erhalte zwei Teile zuerst mit MIME-Typ multipart/alternative
und andere MIME-Typ application/pdf
die für PDF-Dateianhang ist.
Was soll ich tun, um den Inhalt der E-Mail zu erhalten?