获得邮件正文内容的函数代码如下:public void getMailContent(Part part) throws Exception {
String contenttype = part.getContentType();
int nameindex = contenttype.indexOf("name");// /???????
System.out.println(nameindex);
boolean conname = false;
if (nameindex != -1)
conname = true;
System.out.println("CONTENTTYPE: " + contenttype);
if (part.isMimeType("text/plain") && !conname) {
bodytext.append((String) part.getContent());
} else if (part.isMimeType("text/html") && !conname) {
bodytext.append((String) part.getContent());
}else if (part.isMimeType("multipart/*")) {
Multipart multipart = (Multipart) part.getContent();

int counts = multipart.getCount();
for (int i = 0; i < counts; i++) {
getMailContent(multipart.getBodyPart(i));
}
} else if (part.isMimeType("message/rfc822")) {
getMailContent((Part) part.getContent());
} else {
}
}
用这句话来调用这个函数:
Message message[] = folder.getMessages();
pmm.getMailContent((Part) message[i]);比如我的邮件内容是:为什么收到的时候就不是红色的了呢 ,明明发的就是红色的啊(注:为什么收到的时候就不是红色的了呢 ,明明发的就是红色的啊这几个字是以红色显示的)然后当用这个函数收收邮件时,得到的输出是:-1
CONTENTTYPE: multipart/alternative; boundary="===============0747792543=="
-1
CONTENTTYPE: text/plain; charset="utf-8"
-1
CONTENTTYPE: text/html; charset="utf-8"
Message 4 bodycontent: 
为什么收到的时候就不是红色的了呢 ,明明发的就是红色的啊 <BR><FONT color=#ff0000>为什么收到的时候就不是红色的了呢 ,明明发的就是红色的啊 </FONT>   然后我用java小程序程序显示邮件内容时就得到黑色字体的“为什么收到的时候就不是红色的了呢 ,明明发的就是红色的啊”,和红色字体的“为什么收到的时候就不是红色的了呢 ,明明发的就是红色的啊”,而且若邮件内容是黑色字体,它也会收到2遍黑色字体的内容,各位大虾拜托教教我怎么修改这个函数,使得邮件是什么内容我就获得什么内容,不再获得2遍的内容
谢谢大家了