正如标题所说,我没有使用getFolder(“INBOX”)获取消息;
它昨天正常工作,我认为现在调试时我没有改变任何东西我可以看到我没有收到任何消息。
public String[][] fetchEmails() throws Exception {
String[][] emailArray;
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore("pop3s");
store.connect("pop.gmail.com", "******@googlemail.com", "********");
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
int howmuch = folder.getMessageCount();
Message message[] = folder.getMessages();//The int = 0, which shows something has gone wrong, message is an empty array.*
.......
folder.close(false);
store.close();
return emailArray;
}
任何事情都有帮助,但它一直让我疯狂!
答案 0 :(得分:1)
一旦使用pop协议读取邮件,他们就会下载到客户端,并在下面的语句中将其删除到pop服务器中 执行 store.close()。 因此,当您再次运行程序时,只会获取新邮件(即,之前未通过任何pop客户端获取的邮件)
另见: http://en.wikipedia.org/wiki/Post_Office_Protocol#Overview
答案 1 :(得分:0)
我相信GMail会自动存档通过POP检索的邮件。您可能需要转到Settings > Forwarding and POP/IMAP > POP Download
页面并更改设置。
答案 2 :(得分:0)
在重新审视项目的这一部分几个月之后,又发生了这种情况。工作了一会儿..然后没有任何代码更改它将不会下载任何邮件。
答案 3 :(得分:0)
我几乎可以说GMail遇到了问题:我通过Gmail和我的javamail代码体验过这一点。它只是定期a)认证失败或b)报告收件箱为空。