浏览 4982 次
精华帖 (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) 期待中。。。。。。。。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-03-19
考虑的不周全吧 试试按照这样的思路对邮件解析
if (!part.isMimeType("text/rfc822-headers") && part.isMimeType("text/*")){ } else if (part.isMimeType("multipart/*")){ 这里递归 } else if (part.isMimeType("message/rfc822")){ 这里也递归 } else{ } |
|
返回顶楼 | |
发表时间:2008-03-19
但是,我在main() 函数调用该方法,无任异常,
读取邮件的内容正常 在web 容器(tomcat)中调用是,有附件的邮件,会出现此异常。。。 |
|
返回顶楼 | |
发表时间:2008-05-12
我也在做javamail可以共同讨论下··
|
|
返回顶楼 | |