2015-05-04 21 views
0

我想寫一個簡單的代碼,將從Gmail收件箱中讀取消息。 我發現了一些例子,但其中沒有一個正在工作。 最有前途的是代碼中,我就發現CompilatimEerror.com,但無論我嘗試我得到這個錯誤:如何閱讀與Java郵件API的郵件(字符串不能轉換爲多部分)

​​

這裏是我的代碼:

import java.util.*; 
import javax.mail.*; 

public class ReadingEmail { 
    public static void main(String[] args) { 
     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", "[email protected]","password"); 
      Folder inbox = store.getFolder("INBOX"); 
      inbox.open(Folder.READ_ONLY); 
      Message msg = inbox.getMessage(inbox.getMessageCount()); 
      Address[] in = msg.getFrom(); 
      for (Address address : in) { 
       System.out.println("FROM:" + address.toString()); 
      } 
      Multipart mp = (Multipart) msg.getContent(); // here it breaks 
      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(); 
     } 
    } 
} 

沒有連接錯誤,因爲它得到的主題,日期和所有這些東西,但電子郵件正文是一個謎。將不會有附件,我只會收到簡單的郵件(這是更大項目的一部分)

我在尋找的是閱讀未讀郵件(然後刪除此郵件,因此收件箱將永久爲空(垃圾郵件將被手動刪除))。 我缺乏關於web編程/結構的知識,而且所有流行的,imaps和東西都是空白的。 另外請記住,我是一個新手程序員,這是我第一次用我的代碼走出我的電腦,不幸的是直接從協議/認證/從互聯網上獲取東西的問題。

我經歷了很多的頁面去,但從來沒有發現

+0

你得到的錯誤是什麼。 – CubeJockey

+0

java.lang.ClassCastException:java.lang.String不能轉換爲javax.mail.Multipart – Durden

+0

有時你應該只是谷歌錯誤/例外,你會得到。讓我們知道如果以下鏈接可以幫助你。簡而言之:_「你的消息內容[正在返回字符串,並且你正在嘗試將類型轉換爲多部分」__ http://stackoverflow.com/questions/23116465/java-lang-classcastexception-java-lang-string-cannot- be-cast-to-javax-mail-mult – CubeJockey

回答

相關問題