我现在要做邮箱的基本功能,接收邮件后,需要显示邮件内容,发现内容解析后又html代码,不是我想要的纯文本。本人是新手,请哪位大师能指教一下,
下面是我的代码:
/**
* 解析邮件,把得到的邮件内容保存到一个StringBuffer对象中,解析邮件 主要是根据MimeType类型的不同执行不同的操作,一步一步的解析
*/
public static void getMailContent(Part part,StringBuffer bodytext) throws Exception {
String contenttype = part.getContentType();
int nameindex = contenttype.indexOf("name");
boolean conname = false;
if (nameindex != -1)
conname = true;
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),bodytext);
}
} else if (part.isMimeType("message/rfc822")) {
getMailContent((Part) part.getContent(),bodytext);
}
调用该方法:
ReciveMailUtil.getMailContent(msg, content);
System.out.println("邮件正文:" + (contentstr));
显示结果为html格式的:
邮件正文:
转发邮件测试------------------ 原始邮件 ------------------
发件人:***;
发送时间: ***
收件人: ***;
主题: 活动通知<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<STYLE>
BLOCKQUOTE {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; MARGIN-LEFT: 2em
}
OL {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
UL {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
DIV.FoxDiv20121214143118718782 {
COLOR: #000000
}
P {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
BODY {
LINE-HEIGHT: 1.5; FONT-FAMILY: 微软雅黑; COLOR: #000080; FONT-SIZE: 10.5pt
}
</STYLE><META name=GENERATOR content="MSHTML 8.00.6001.19393"></HEAD>
<BODY style="MARGIN: 10px">
<DIV>各位:</DIV>
<DIV> 附件是明天活动的活动通知,请查收,麻烦大家准时到哦。</DIV>
<DIV> </DIV>
<HR style="WIDTH: 210px; HEIGHT: 1px" align=left color=#b5c4df SIZE=1><DIV><SPAN>
<DIV><SPAN style="FONT-FAMILY: 宋体; COLOR: #000000; FONT-SIZE: 10.5pt">
<HR style="WIDTH: 210px; HEIGHT: 1px" align=left color=#b5c4df SIZE=1>style="PADDING-BOTTOM: 2px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial Narrow; FONT-SIZE: 12px; PADDING-TOP: 2px">------------------ 原始邮件 ------------------</DIV>
<DIV><B>主题:</B> 活动通知</DIV></DIV>
<DIV><BR></DIV>
<DIV> </DIV>
<DIV></DIV></DIV></DIV></DIV></BODY></HTML>忘哪位大师能帮忙一下,本人想要把原文件内容能显示出来,由于本人基础有限,希望能稍微详细点谢谢,
下面是我的代码:
/**
* 解析邮件,把得到的邮件内容保存到一个StringBuffer对象中,解析邮件 主要是根据MimeType类型的不同执行不同的操作,一步一步的解析
*/
public static void getMailContent(Part part,StringBuffer bodytext) throws Exception {
String contenttype = part.getContentType();
int nameindex = contenttype.indexOf("name");
boolean conname = false;
if (nameindex != -1)
conname = true;
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),bodytext);
}
} else if (part.isMimeType("message/rfc822")) {
getMailContent((Part) part.getContent(),bodytext);
}
调用该方法:
ReciveMailUtil.getMailContent(msg, content);
System.out.println("邮件正文:" + (contentstr));
显示结果为html格式的:
邮件正文:
转发邮件测试------------------ 原始邮件 ------------------
发件人:***;
发送时间: ***
收件人: ***;
主题: 活动通知<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<STYLE>
BLOCKQUOTE {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; MARGIN-LEFT: 2em
}
OL {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
UL {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
DIV.FoxDiv20121214143118718782 {
COLOR: #000000
}
P {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
BODY {
LINE-HEIGHT: 1.5; FONT-FAMILY: 微软雅黑; COLOR: #000080; FONT-SIZE: 10.5pt
}
</STYLE><META name=GENERATOR content="MSHTML 8.00.6001.19393"></HEAD>
<BODY style="MARGIN: 10px">
<DIV>各位:</DIV>
<DIV> 附件是明天活动的活动通知,请查收,麻烦大家准时到哦。</DIV>
<DIV> </DIV>
<HR style="WIDTH: 210px; HEIGHT: 1px" align=left color=#b5c4df SIZE=1><DIV><SPAN>
<DIV><SPAN style="FONT-FAMILY: 宋体; COLOR: #000000; FONT-SIZE: 10.5pt">
<HR style="WIDTH: 210px; HEIGHT: 1px" align=left color=#b5c4df SIZE=1>style="PADDING-BOTTOM: 2px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial Narrow; FONT-SIZE: 12px; PADDING-TOP: 2px">------------------ 原始邮件 ------------------</DIV>
<DIV><B>主题:</B> 活动通知</DIV></DIV>
<DIV><BR></DIV>
<DIV> </DIV>
<DIV></DIV></DIV></DIV></DIV></BODY></HTML>忘哪位大师能帮忙一下,本人想要把原文件内容能显示出来,由于本人基础有限,希望能稍微详细点谢谢,
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货