使用JavaMail接收邮件的示例

来源:互联网 发布:什么是审计作业软件 编辑:程序博客网 时间:2024/05/18 00:30
String pop3Server = "服务器地址";String protocol = "pop3";String username = "用户名";String password = "密码";Properties prop = new Properties();prop.setProperty("mail.store.protocol", protocol);prop.setProperty("mail.pop3.host", pop3Server);Session mailSession = Session.getDefaultInstance(prop);Store store = mailSession.getStore();store.connect(pop3Server, username, password);Folder folder = store.getFolder("inbox"); // pop3类型 inbox文件夹folder.open(Folder.READ_ONLY);System.out.println(folder.getMessageCount()); // 正常的话,会得到正确的数值


前天在宿舍,使用这段代码获取新浪邮箱的邮件,一切正常,今天早上在公司的电脑上跑,一直返回0,原以为是服务器端做了什么设置,限制了代码获取之类的。心灰意冷之际想到pop3和imap两个协议不是很清楚区别,就去看了下,这才知道原来pop3协议在客户端获取邮件之后服务器端不再保存(有些可以设置为服务器端保存副本),而我的outlook客户端设置了每分钟获取一次,而且每次往自己邮箱发送新邮件进行测试时,都有手动刷新确认新邮件到达的操作,进而导致服务器端一直在重复“接收新邮件,下载到客户端,删除新邮件”,也理所当然地代码会一直返回0!所以说,学习使用API,不只是知道API就行,必要的背景知识还是很重要的!

0 0