最近项目要使用javamail,邮件服务器使用james,是部署在内网的,没有开外网域名。使用javamail获取邮件信息时总是取不到,而且有一个怪问题,就是同一段代码在main方法里执行是可以取到邮件的,放到其他方法里一调用就不行,我都快疯了。哪位高人解决,高分!
解决方案 »
- java做文件下载
- java操作owc的包!jawin.jar,jawin-stubs.jar,jawin.dll
- 谁能告诉我这个是如何实现的?
- 有谁了解在线购买点卡,并对点卡进行充值的业务.都说说看啊.
- Bean的存活时间为请求阶最??什么意思
- 把文件存储到非web路径下,如何让用户下载
- tomcat4.1.31的异常退出,急切
- 上传图片到数据库的问题?
- %D1%A9%C0%CB%CF%E3%CB%AE这种编码是什么编码?如何转换成中文?50分送给您。
- int型数字2如何砖换成字符型"02"??
- web开发新人问题
- 若struts2的<url-pattern>配置成/* 怎么才能访问到servlet呢
List<Map> list = new ArrayList<Map>();
List<Map> list2 = new ArrayList<Map>();
Properties props = new Properties();
//首页portal,接受邮箱服务器配置.
props.put("mail.pop3.host", OAConstConfig.EMAIL_CONNECT);
props.put("mail.pop3.port", OAConstConfig.EMAIL_CONNECT_PORT);
Session recesession = Session.getDefaultInstance(props,new javax.mail.Authenticator() {
protected javax.mail.PasswordAuthentication getPasswordAuthentication() {
return new javax.mail.PasswordAuthentication(user,password);
}
});
recesession.setDebug(true);
Store store = recesession.getStore("pop3");
store.connect(connect, user, password);
Folder folder = store.getDefaultFolder().getFolder("INBOX");
folder.open(Folder.READ_ONLY);
// folder.open(Folder.HOLDS_MESSAGES);
Message[] unreadMessages = folder.search(
new FlagTerm(new Flags(Flags.Flag.SEEN), false));
//int newCount=folder.getUnreadMessageCount();//得到新邮件数
System.out.println("未读:" + unreadMessages.length);
Message[] msgs = folder.getMessages();
for (int msgNum = 0; msgNum < msgs.length; msgNum++) {
//System.out.println(msgs[msgNum].getSubject());
//Object object = msgs[msgNum].getReceivedDate();
InternetAddress[] internetAddress = (InternetAddress[]) msgs[msgNum]
.getFrom();
Map<String, String> map = new HashMap<String, String> () ;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
if (msgs[msgNum].getSentDate()!=null)
map.put("Time", sdf.format(msgs[msgNum].getSentDate())); if(internetAddress!=null)
map.put("Address", internetAddress[0].getAddress()); if(internetAddress!=null) {
String personal = internetAddress[0].getPersonal();
map.put("Personal", personal==null?internetAddress[0].getAddress():personal);
} map.put("Subject", msgs[msgNum].getSubject());
list.add(map);
}
for (Map map : list) {
list2.add(map);
}
folder.close(false);
store.close();
return list2;
}