如何在Gmail中获取完整的邮件正文?

2022-09-03 00:37:17

我想获得完整的消息正文。所以我尝试:

Message gmailMessage = service.users().messages().get("me", messageId).setFormat("full").execute();

为了获得身体,我尝试:

gmailMessage.getPayload().getBody().getData()

但结果总是.如何获得完整的消息正文?null


答案 1

要从 gmailMessage 获取数据,您可以使用 gmailMessage.payload.parts[0].body.data。如果要将其解码为可读文本,可以执行以下操作:

import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.binary.StringUtils;

System.out.println(StringUtils.newStringUtf8(Base64.decodeBase64(gmailMessage.payload.parts[0].body.data)));

答案 2

我尝试了这种方式,因为message.getPayload().getBody().getParts()总是空的。

import com.google.api.client.repackaged.org.apache.commons.codec.binary.Base64;
import com.google.api.client.repackaged.org.apache.commons.codec.binary.StringUtils;

(...)

Message message = service.users().messages().get(user, m.getId()).execute();
MessagePart part = message.getPayload();
System.out.println(StringUtils.newStringUtf8(Base64.decodeBase64(part.getBody().getData())));

结果是纯HTML字符串


推荐