我使用JavaMail API为我的Android手机制作了电子邮件客户端。如果它是一个html-邮件,我不知道如何获得电子邮件内容。我正在使用以下代码来获取内容:
public void printMessage(int messageNo) throws Exception {
Log.i("MsgNo", "Getting message number: " + messageNo);
Message m = null;
try {
m = folder.getMessage(messageNo);
dumpPart(m);
} catch (IndexOutOfBoundsException iex) {
Log.i("Out of Range","Message number out of range");
}
}
public static void dumpPart(Part p) throws Exception {
if (p instanceof Message)
dumpEnvelope((Message)p);
Object content = p.getContent();
Log.i("dumpPart",(String) content);
String ct = p.getContentType();
try {
pr("CONTENT-TYPE: " + (new ContentType(ct)).toString());
Log.i("MsgNo", "Content Type");
} catch (ParseException pex) {
pr("BAD CONTENT-TYPE: " + ct);
Log.i("MsgNo", "Bad Content Type");
}
//* Using isMimeType to determine the content type avoids
// * fetching the actual content data until we need it.
if (p.isMimeType("text/plain")) {
pr("This is plain text");
pr("---------------------------");
Log.i("Text", (String)p.getContent());
} else {
Log.i("MsgNo", "Just a Separator");
// just a separator
pr("---------------------------");
}
}
在Logcat中,我得到dumpenvelope的返回值((Message)p);什么都没有。
有人知道该怎么办吗?
答案 0 :(得分:0)
是否抛出任何异常?
您是否enable debugging并检查协议跟踪以查看可能失败的内容?
您使用的是IMAP吗?
看起来您的程序是使用名为msgshow.java的JavaMail示例程序创建的,您是否找到了完整的原始示例程序?
This JavaMail FAQ entry也可能会有所帮助。