我正在尝试编写一个简单的代码,该代码将从Gmail收件箱中读取消息。我发现了一些例子,但是其中没有奏效。最有前途的是我在CompilatimeError.com上找到的代码,但是无论我尝试什么,我都会得到此错误:
java.lang.ClassCastException: java.lang.String cannot be cast to javax.mail.Multipart
这是我的代码:
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();
}
}
}
没有连接错误,因为它得到了主题,日期和所有这些内容,但是电子邮件主体是个谜。不会有附件,我只会收到简单的邮件(这是大项目的一部分)
我正在寻找的是阅读未读邮件(然后删除此消息,因此收件箱将是永久为空的(垃圾邮件将被手动删除)。我缺乏有关Web编程/结构的知识,所有流行音乐,IMAP和内容都是空白的空间。还请记住,我是一名新手程序员,这是我不幸的是,我第一次将我的代码出现在计算机外面,直接直接涉及协议/身份验证/从Internet中获取东西的问题。
我经历了很多页面,但从未找到可以让我自己创建的解释...
您与这个人有关系吗?
Javamail FAQ对许多有用的信息有指示,包括Javamail项目页面,示例代码等。您还可以在此处找到一些有用的背景材料和教程的指针。