2011-06-17 47 views
0

你好我写一个程序来扫描附件的电子邮件并在本地保存这些附件,但我不断收到以下错误(错误味精后的代码如下)感谢错误,而试图投javax.mail.multipart

Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to javax.mail.Multipart 
    at reader.main(reader.java:70) 
        Multipart multipart = (Multipart) message[i].getContent(); 
        for (int j = 0, m = multipart.getCount(); j < m; i++){ 
         Part part = multipart.getBodyPart(j); 

         String disposition = part.getDisposition(); 

         if ((disposition != null)&& (disposition.equals(Part.ATTACHMENT)|| (disposition.equals(Part.INLINE)))){ 
          saveFile(part.getFileName().toString(), part.getInputStream()); 

         } 
        } 


    } 

    // Close connection 
    folder.close(false); 
    store.close(); 


} 
    static void saveFile(String filename, InputStream in){ 
     File file = new File("c:/temp/" + filename); 
     for (int i = 0; file.exists();i++) { 
      file = new File(filename + i); 
     } 
    } 

回答

0

也许这是从铸造到多节在下面一行:

Multipart multipart = (Multipart) message[i].getContent(); 

检查从该的getContent结果是一个有效的强制转换为多部分。

+0

是否有另一种从电子邮件获取附件的方式? – Arphadax