我能够从此代码访问来自JavaMail API
的(收件箱)电子邮件
public Folder getMails() throws MessagingException {
store = imapSession.getStore("imaps");
store.connect(mailServer, account.username, account.password);
inbox = store.getFolder("Inbox");
inbox.open(Folder.READ_WRITE);
Message[] result = inbox.getMessages();
return inbox;
}
我现在可以在列表视图中显示主题我的问题是 1.如何在安卓中显示电子邮件内容正文。&2.我想访问雅虎邮件和Microsoft电子邮件等。我也可以通过JavaMail API访问这些电子邮件。我也看到了这封 K-9 邮件,但我无法导入它。
任何帮助将不胜感激,提前谢谢。
1 您可以使用 WebView 显示消息内容,因为它将自动为您呈现HTML
,并且还将提供缩放功能。
2您可以从任何邮件服务器访问邮件,只需要正确的属性。
例如,在实时和热邮件的情况下,主机将被pop3.live.com
,协议将pop3s
,因为 MS 服务器不支持 IMAP。
另请注意:雅虎的免费版本不允许第三方服务访问消息。您只能访问来自雅虎的消息,如果使用他们的高级服务Yahoo! Plus。
- JavaMail 允许您访问邮件内容,包括纯文本和 html 内容。 如何显示内容是一个与JavaMail无关的GUI问题。
- JavaMail仅支持互联网标准协议,如POP3和IMAP。 您应该能够访问Yahoo和Microsoft服务器,如果它们配置为支持这些协议。
- 不要忘记阅读JavaMail常见问题解答。
尝试使用以下代码来获取邮件内容
private static String getMailContent(Multipart multipart) throws IOException, MessagingException{
StringBuffer content = new StringBuffer();
for (int x = 0; x < multipart.getCount(); x++) {
BodyPart bodyPart = multipart.getBodyPart(x);
String disposition = bodyPart.getDisposition();
if (disposition != null && (disposition.equals(BodyPart.ATTACHMENT))) {
// ................................
} else {
content.append(bodyPart.getContent());
}
}
return content.toString();
}