javamail 收邮件时候内容重复   怎么过滤重复内容.... 100分给了.
一些邮件发送出来时,既有plain又有html,为了防止一些无法解析html的地方也能收到邮件内容,才重复的发2段同样的内容,但是我在解析时候,使用javamail的MimeMessage解析,网上的例子也不少,但是这样解析出来的content就包含的重复的部分,怎样去除掉plain部分的呢?  
同时要考虑到有的邮件只有plain部分,这时候肯定是不能去除的。应该怎么做呢?  100分给了。。	
代码:
public void getMailContent(Part part) throws Exception {   
		String contentType=part.getContentType();
		int nameindex = contentType.indexOf("name");
		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 {
		}
	}
------解决方案--------------------
public void getMailContent(Part part, boolean flag) throws Exception {  
   String contentType=part.getContentType();
   int nameindex = contentType.indexOf("name");
   boolean conname = false;
   if (nameindex != -1)
   conname = true;
   System.out.println("CONTENTTYPE: " + contentType);
   if (part.isMimeType("text/plain") && !conname && flag) {
       bodytext.append((String) part.getContent());
       flag= false;
   } else if (part.isMimeType("text/html") && !conname && flag) {
       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));
       }
   }
}
你从外面传一个变量进来,判断一下,如果取了"text/plain"就不再取"text/html"不可以吗?
------解决方案--------------------
------解决方案--------------------根据客户端的设置来做,是html的就读html部分,找不到再读plain部分,否则只取plain部分。
------解决方案--------------------
你这个getMailContent方法在外面是怎么调用的呀。
是要循环的吧?
那你就
boolean flag = true;
while(条件) {
getMailContent(part, flag);
}
就这样不行吗?
当读取过"text/plain",flag就被改成false了,再就不会进到"text/html"里面了