【发布时间】:2015-06-15 17:27:12
【问题描述】:
我需要以用户邮箱中的格式获取检索到的邮件,即: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;
}
}
【问题讨论】:
-
该代码到底有什么问题?它会崩溃、返回错误、返回乱码还是什么?
-
无法解码检索到的邮件正文。
-
返回编码数据@KenY-N
-
当我使用消息 ID 执行该代码时,我在正文中得到以下内容:pastebin.com/LKH6V3kV