Java Google Gmail API阅读所有邮件

时间:2015-09-14 17:22:15

标签: java google-api gmail-api

到目前为止,我已经能够查看其中一个帐户中的所有电子邮件并打印出邮件片段,但我希望能够打印出完整的邮件。

这是我到目前为止使用的代码。

public static void getEmails() {
        try {
            ListMessagesResponse response = service.users().messages().list("me").execute();

            List<Message> messages = new ArrayList<Message>();
            while (response.getMessages() != null) {
                messages.addAll(response.getMessages());
                if (response.getNextPageToken() != null) {
                    String pageToken = response.getNextPageToken();
                    response = service.users().messages().list("me").setPageToken(pageToken).execute();
                } else {
                    break;
                }
            }

            for (Message message : messages) {
                System.out.println(message.getId());
                Message test = service.users().messages().get("me", message.getId()).execute();
                System.out.println(test.getSnippet());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

如何以纯文本格式打印邮件的完整内容? (不是原始格式或任何东西)。

1 个答案:

答案 0 :(得分:0)

对于那些想知道答案是什么的人,你只需要添加这段代码。

Message test = service.users().messages().get("me", message.getId()).setFormat("full").execute();
                System.out.println(StringUtils.newStringUtf8(Base64.decodeBase64(test.getPayload().getBody().getData())));

这将为您提供html代码,您可以在其中提取所需的内容。希望有所帮助!