Gmail API:解码邮件正文(Java/Android)

Ayu*_*pta 0 java android gmail-api

我需要以用户邮箱中的格式获取检索到的邮件,即:HTML。
我在解码检索到的消息的正文时遇到了麻烦。

请提出一种在 Java 中完成此操作的方法。

我目前正在这样做以获取消息:

public class MyClass {

  public static Message getMessage(Gmail service, String userId, String messageId)
      throws IOException {
    Message message = service.users().messages().get(userId, messageId).execute();

    System.out.println("Message snippet: " + message.getSnippet());

    return message;
  }

  public static MimeMessage getMimeMessage(Gmail service, String userId, String messageId)
      throws IOException, MessagingException {
    Message message = service.users().messages().get(userId, messageId).setFormat("raw").execute();

    byte[] emailBytes = Base64.decodeBase64(message.getRaw());

    Properties props = new Properties();
    Session session = Session.getDefaultInstance(props, null);

    MimeMessage email = new MimeMessage(session, new ByteArrayInputStream(emailBytes));

    return email;
  }

}
Run Code Online (Sandbox Code Playgroud)

小智 5

String mimeType = message.getPayload().getMimeType();
    List<MessagePart> parts = message.getPayload().getParts();
    if (mimeType.contains("alternative")) {
        log.info("entering alternative loop");
        for (MessagePart part : parts) {
            mailBody = new String(Base64.decodeBase64(part.getBody()
                    .getData().getBytes()));

        }
        log.info(mailBody);
    }
Run Code Online (Sandbox Code Playgroud)