2014-04-16 8 views
0

이것은 자바 튜토리얼에서 가져온 내 코드입니다. 그러나 다음에서 작성한 내 코드는 정상적인 메시지를받을 때 발생합니다. 컴퓨터, GMail을 통해 보낸 반대.java.lang.ClassCastException : javax.mail.Multipart에 java.lang.String을 캐스팅 할 수 없습니다.

java.lang.ClassCastException: java.lang.String cannot be cast to javax.mail.Multipart 
at gridnotifierproject_pcbuild.HandleMailInput.retrieveOneMail(HandleMailInput.java:37) 
at gridnotifierproject_pcbuild.GridNotifierProject_PCBuild.main(GridNotifierProject_PCBuild.java:22) 

코드 :

Properties props = new Properties(); 
    props.setProperty("mail.store.protocol", "imaps"); 
    try { 
     Session session = Session.getInstance(props, null); 
     Store store = session.getStore(); 
     store.connect("imap.gmail.com", "***********@gmail.com", "******"); 
     System.out.println("Established Connection to Server!"); 
     Folder inbox = store.getFolder("Inbox"); 
     inbox.open(Folder.READ_ONLY); 
     Message msg = inbox.getMessage(inbox.getMessageCount()); 
     System.out.println("Found specified Folder, retrieving the latest message..."); 
     Address[] in = msg.getFrom(); 
     for (Address address : in) { 
      System.out.println("FROM:" + address.toString()); 
     } 
     Multipart mp = (Multipart) msg.getContent(); 
     BodyPart bp = mp.getBodyPart(0); 
     System.out.println("SENT DATE:" + msg.getSentDate()); 
     System.out.println("SUBJECT:" + msg.getSubject()); 
     System.out.println("CONTENT:" + bp.getContent()); 
    } catch (Exception mex) { 
     mex.printStackTrace(); 
    } 
+0

'String'과'MultiPart'는 일반적인 상속을 공유하지 않으므로이를 캐스트 할 수 없습니다. – Rogue

답변

6

내가 그러나 기존의 데스크탑 메일 클라이언트에서 메일을 검색하기 위해 노력하고, 그것을 잘 실행하고 메일을 반환 Gmail을 통해 이메일을받을 경우

오류를 반환 예외를 먼저 이해하십시오 !!!

메시지 내용이 String을 (를) 반환하고 있으며 사용자가 Multipart에 캐스트를 입력하려고합니다.

Object content = msg.getContent(); 
if (content instanceof String) 
{ 
    String body = (String)content; 
    ... 
} 
else if (content instanceof Multipart) 
{ 
    Multipart mp = (Multipart)content; 
    ... 
} 
+0

위대한, 나는 그 예외가 무엇에 대해 불평하는지에 대해 공정하게 이해했다 - 나는 해결책으로 앞으로 나아갈 수있는 방법을 확신하지 못했다. 좋고 짧다! – user3542073

+0

@ user3542073 환영합니다. – Mani

관련 문제