【发布时间】:2017-09-18 00:31:02
【问题描述】:
我正在尝试使用 Gmail Java API 获取电子邮件正文。我正在获取包括to, from, subject在内的所有字段。
但我无法获得正文,这里的电子邮件的 html 正文是我的代码片段:
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();
}
}
}
可以使用以下方法获得简短的电子邮件正文 text-sn-p (但不是完整的正文):
message.getSnippet();
但就我而言,这还不够,我需要全身内容。
在调试器的上述循环中迭代MessageParts 时,我首先得到两个部分,MIME 类型为multipart/alternative,其他MIME 类型为application/pdf,用于pdf 文件附件。
我应该怎么做才能得到电子邮件的正文?
【问题讨论】:
标签: java email gmail gmail-api