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和東西都是空白的。 另外請記住,我是一個新手程序員,這是我第一次用我的代碼走出我的電腦,不幸的是直接從協議/認證/從互聯網上獲取東西的問題。
我經歷了很多的頁面去,但從來沒有發現
你得到的錯誤是什麼。 – CubeJockey
java.lang.ClassCastException:java.lang.String不能轉換爲javax.mail.Multipart – Durden
有時你應該只是谷歌錯誤/例外,你會得到。讓我們知道如果以下鏈接可以幫助你。簡而言之:_「你的消息內容[正在返回字符串,並且你正在嘗試將類型轉換爲多部分」__ http://stackoverflow.com/questions/23116465/java-lang-classcastexception-java-lang-string-cannot- be-cast-to-javax-mail-mult – CubeJockey