快速业务通道

Eclipse 3.0简介和插件开发示例 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
String getMailInfo(MailConfig mc) { //最终输出的邮件信息 String mailInfo=""; //每个邮箱服务器上的Store和Folder对象 Store store=null; Folder folder=null; try { Properties props = System.getProperties(); //与邮件服务器生成一个Session Session session = Session.getDefaultInstance ( props,null); //给出服务器,用户名,密码连接服务器 store = session.getStore("pop3"); store.connect(mc.getPopServer(), mc.getPopUser(),mc.getPopPassword()); //取得默认的邮件Folder folder = store.getDefaultFolder(); if (folder == null) throw new Exception("No default folder"); //取得收件箱 folder = folder.getFolder("INBOX"); if (folder == null) throw new Exception("No POP3 INBOX"); //以只读方式打开收件箱 folder.open(Folder.READ_ONLY); //获取所有新邮件并处理 Message[] msgs = folder.getMessages(); for (int i = 0; i < msgs.length; i++) { Message message= msgs[i]; //取得每封邮件的信息, 需要引用MailConfig对象进行关键字过滤 mailInfo = mailInfo+ getMessageInfo ( message,mc); } } catch (Exception ex) { ex.printStackTrace(); } finally { //安全的关闭邮件服务器资源 try { if (folder!=null) folder.close(true); if (store!=null) store.close(); } catch (Exception ex2) {ex2.printStackTrace();} } return mailInfo; } /** * 得到一封邮件的信息, 需要根据MailConfig过滤 * @param mailInfo * @param message * @return 邮件信息 * @throws MessagingException * @throws IOException */ private String getMessageInfo ( final Message message ,final MailConfig mc) throws MessagingException, IOException { //返回的改邮件信息 String mailInfo=""; String from=((InternetAddress) message.getFrom()[0]).getPersonal(); if (from==null) from=((InternetAddress) message.getFrom()[0]).getAddress(); String subject=message.getSubject(); //如果满足过滤信息则显示,否则返回空 if(isElementinString(from,mc.getStrFrom()) ||isElementinString (subject,mc.getStrSubject()) ) { mailInfo=mailInfo+"发件人 : "+from+"\n"; mailInfo=mailInfo+"邮件主题 : "+subject+"\n"; mailInfo=mailInfo+"发送时间 : "+message.getSentDate() +"\n"; //如果显示内容,则打印内容 if(mc.isViewContent) mailInfo=mailInfo+message.getContent() +"\n"; mailInfo=mailInfo +"------------------------------------\n"; } return mailInfo; } private JTextPane getJTextPane() { if (jTextPane == null) { jTextPane = new JTextPane(); } return jTextPane; } /** * 判断目标关键字数组中是否有指定的字符串, 进行过滤 * @param targetStr : * @param keys : * @return 如果有,返回true, 否则返回false */ private boolean isElementinString (String targetStr,String [] keys) { //没指定过滤条件,显示所有 if (keys==null) return true; //指定字符串为空,直接返回false if (targetStr==null) return false; for(int i=0;i<keys.length ;i++) { if (targetStr.indexOf(keys[i])>-1) return true; } return false; } } // @jve:decl-index=0:visual-constraint="10, 10"--说明,这是Visual Editor添加的控制信息

以上代码的注释已经保证你能够看清楚,这里就不加累述,有兴趣的可以自己试

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号