转载:http://expert.csdn.net/Expert/topic/1260/1260952.xml?temp=.9549066

解决方案 »

  1.   

    这个简单。上面的连接,给的方法不完善。
    public boolean ispart(int i){
               //获取附件
           try{
                //folder.open(Folder.READ_WRITE);//READ_ONLY为打开方式
                //message=folder.getMessages();
              Object out_content = message[i].getContent();
               if (!(out_content instanceof Multipart)){//不是复合邮件体,既是不带附件。
                  return false;
               }
               Multipart mp = (Multipart)out_content;
               int m=mp.getCount();
               for (int j=0;j<m;j++)
                  {
                     System.out.println("nnn"+m+"mmmm");
                     Part part = mp.getBodyPart(j);
                    // System.out.println("getISOFileName(part00)="+ part.getFileName()) ;
                     String disposition = part.getDisposition();
                     System.out.println("disposition===*"+disposition);
                     if ( (getISOFileName(part)!=null) || ((disposition != null) && ((disposition.equalsIgnoreCase(part.ATTACHMENT)) || (disposition.equalsIgnoreCase(part.INLINE)))))
                       {
                           return true;
                       }else  if ( part.isMimeType("MESSAGE/RFC822")){
                          System.out.println("message/rfc822=======================");
                          return true;
                       }
                  }
                }catch(Exception e){
                  info = info + "取得附件状态时异常:"+e.toString()+ "<br>";
                  System.out.println("取得附件状态时异常:"+e.toString());
                  return false;
                }
        return false;
      }