我试图写一个简单的代码,将阅读邮件从gmail收件箱。我已经找到了一些例子,但没有一个是有效的。最有希望的是我在CompilatimEerror.com上找到的代码,但是无论我尝试什么,都会得到这个错误:
<code>java.lang.ClassCastException:java.lang.String无法转换为javax.mail.Multipat</code>
这是我的代码:
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", "yourEmailId@gmail.com","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();
}
}
}
没有连接错误,因为它会获取主题、日期和所有这些东西,但电子邮件正文是一个谜。不会有附件,我只会收到简单的邮件(这是更大项目的一部分)
我想要的是阅读未读邮件(然后删除此邮件,这样收件箱将永久为空(垃圾邮件将被手动删除))。我缺乏关于网络编程/结构的知识,所有流行音乐、图像和其他东西都是空白。还要记住,我是一名新手程序员,这是我第一次带着代码走出电脑,不幸的是,我直接遇到了协议/身份验证/从互联网获取东西的问题。
我浏览了很多页面,但从未找到允许我自己创建它的解释......
你和这个人有关系吗?
JavaMail FAQ提供了大量有用信息的链接,包括JavaMail项目页面、示例代码等。您还可以在这里找到一些有用的背景材料和教程的链接。