论坛首页 入门技术论坛

用javamail 收邮件出现:javax.mail.internet.ParseException

浏览 4970 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-03-18  
请大侠们给点解决方法。。。。
一下是取得邮件内容的代码
public static String getMailContent(Part part){
      StringBuffer bodytext = new StringBuffer();
      try{
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(contenttype.startsWith("multipart/alternative")){
   Multipart multipart = (Multipart)part.getContent();
    String p =getMailContent((Part)multipart.getBodyPart(1));
    bodytext.append(p);
}
}catch(Exception ex){
    ex.printStackTrace();
}
    return bodytext.toString();
}
在解析带附件的邮件是出现的异常。。。

javax.mail.internet.ParseException
        at javax.mail.internet.ParameterList.<init>(ParameterList.java:61)
        at javax.mail.internet.ContentType.<init>(ContentType.java:83)
        at javax.mail.internet.MimeMultipart.parse(MimeMultipart.java:269)
        at javax.mail.internet.MimeMultipart.getBodyPart(MimeMultipart.java:172)
        at Mail.MailManager.getMailContent(MailManager.java:303)




期待中。。。。。。。。
   发表时间:2008-03-19  
考虑的不周全吧 试试按照这样的思路对邮件解析

if (!part.isMimeType("text/rfc822-headers") && part.isMimeType("text/*")){
}
else if (part.isMimeType("multipart/*")){
这里递归
}
else if (part.isMimeType("message/rfc822")){
这里也递归
}
else{
}
0 请登录后投票
   发表时间:2008-03-19  
但是,我在main() 函数调用该方法,无任异常,
读取邮件的内容正常
在web 容器(tomcat)中调用是,有附件的邮件,会出现此异常。。。
0 请登录后投票
   发表时间:2008-05-12  
我也在做javamail可以共同讨论下··
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics