private static void analyseMultipart(Multipart mpart,Map mailBodyMap){
  try{
       int count = mpart.getCount();
       for(int i=0;i<count;i++){
         Part part = mpart.getBodyPart(i);
         if(part.isMimeType("multipart/*")){
           analyseMultipart((Multipart)part.getContent(),mailBodyMap);
         }else{
           if(part.isMimeType("TEXT/*")){
             //文本
             if(part.getFileName()==null){
               if(part.isMimeType("TEXT/PLAIN")){                 相关处理;               }
               if(part.isMimeType("TEXT/HTML")){                 相关处理               }
             }else{
               //文本附件
                              String filename = MimeUtility.decodeText(part.getFileName());
              
              saveFile(part.getInputStream(),filename);
             }
           }else{
             //二进制文件
             String disp = part.getDisposition();
             String contentId = ((MimePart)part).getContentID();
             if (disp != null && disp.equalsIgnoreCase(Part.ATTACHMENT)){
               //二进制附件
               String filename = MimeUtility.decodeText(part.getFileName());
              saveFile(part.getInputStream(),filename);             }else if(contentId!=null){
               //可能是超文本正文中的图片
                              //save file to disk
               String filename = MimeUtility.decodeText(part.getFileName());
               if(filename!=null){
                saveFile(part.getInputStream(),filename);               }
                           }
           }
         }
       }
     }catch(Exception e){
       e.printStackTrace();
     }
  }
××××××××
 private void saveFile(InputStream input, String fileName) {
     int i = 0;
     File file = new File(fileName);
     try {
       FileOutputStream myFileoutputstream = new FileOutputStream(tempPath +
           fileName);
       int c;
       while ( (c = input.read()) != -1) {
         myFileoutputstream.write(c); //从字节数组中读入数据写到文件中
         ++i;
       }
       myFileoutputstream.close();
     }
     catch (java.io.FileNotFoundException fnfe) {
            }
     catch (java.io.IOException ioe) {
            }
     
   }