仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 550|回复: 12
打印 上一主题 下一主题

[学习教程] 发布一篇[JAVA100例]048、利用JavaMail吸收邮件

[复制链接]
小妖女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:21:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net网页编程并驾齐驱的
importjavax.mail.*;
importjavax.mail.internet.*;
importjava.util.*;
importjava.io.*;
/**
*<p>Title:利用JavaMail吸收邮件</p>
*<p>Description:实例JavaMail包吸收邮件,本实例没有完成吸收邮件的附件。</p>
*<p>Copyright:Copyright(c)2003</p>
*<p>Filename:POPMail.java</p>
*@version1.0
*/
publicclassPOPMail{
/**
*<br>办法申明:主办法,吸收用户输出的邮箱服务器、用户名和暗码
*<br>输出参数:
*<br>前往范例:
*/
  publicstaticvoidmain(Stringargs[]){
    try{
      StringpopServer=args[0];
      StringpopUser=args[1];
      StringpopPassword=args[2];
      receive(popServer,popUser,popPassword);
    }catch(Exceptionex){
      System.out.println("Usage:javacom.lotontech.mail.POPMail"+"popServerpopUserpopPassword");
    }
    System.exit(0);
  }
/**
*<br>办法申明:吸收邮件信息
*<br>输出参数:
*<br>前往范例:
*/
  publicstaticvoidreceive(StringpopServer,StringpopUser,StringpopPassword){
    Storestore=null;
    Folderfolder=null;
    try{
      //猎取默许会话
      Propertiesprops=System.getProperties();
      Sessionsession=Session.getDefaultInstance(props,null);
      //利用POP3会话机制,毗连服务器
      store=session.getStore("pop3");
      store.connect(popServer,popUser,popPassword);
      //猎取默许文件夹
      folder=store.getDefaultFolder();
      if(folder==null)thrownewException("Nodefaultfolder");
      //假如是收件箱
      folder=folder.getFolder("INBOX");
      if(folder==null)thrownewException("NoPOP3INBOX");
      //利用只读体例翻开收件箱
      folder.open(Folder.READ_ONLY);
      //失掉文件夹信息,猎取邮件列表
      Message[]msgs=folder.getMessages();
      for(intmsgNum=0;msgNum<msgs.length;msgNum++){
        printMessage(msgs[msgNum]);
      }
    }catch(Exceptionex){
      ex.printStackTrace();
    }
    finally{
    //开释资本
      try{
        if(folder!=null)folder.close(false);
        if(store!=null)store.close();
      }catch(Exceptionex2){
        ex2.printStackTrace();
      }
    }
  }
/**
*<br>办法申明:打印邮件信息
*<br>输出参数:Messagemessage信息对象
*<br>前往范例:
*/
  publicstaticvoidprintMessage(Messagemessage){
    try{
      //取得发送邮件地点
      Stringfrom=((InternetAddress)message.getFrom()[0]).getPersonal();
      if(from==null)from=((InternetAddress)message.getFrom()[0]).getAddress();
      System.out.println("FROM:"+from);
      //猎取主题
      Stringsubject=message.getSubject();
      System.out.println("SUBJECT:"+subject);
      //猎取信息对象
      PartmessagePart=message;
      Objectcontent=messagePart.getContent();
      //附件
      if(contentinstanceofMultipart){
        messagePart=((Multipart)content).getBodyPart(0);
        System.out.println("[MultipartMessage]");
      }
      //猎取content范例
      StringcontentType=messagePart.getContentType();
      //假如邮件内容是纯文本大概是HTML,那末打印出信息
      System.out.println("CONTENT:"+contentType);
      if(contentType.startsWith("text/plain")||
        contentType.startsWith("text/html")){
        InputStreamis=messagePart.getInputStream();
        BufferedReaderreader=newBufferedReader(newInputStreamReader(is));
        StringthisLine=reader.readLine();
        while(thisLine!=null){
          System.out.println(thisLine);
          thisLine=reader.readLine();
        }
      }
      System.out.println("--------------END---------------");
    }catch(Exceptionex){
      ex.printStackTrace();
    }
  }
}

诸如RMI,EJB等一些技术并不是你说的那么复杂,而是它们把一些复杂的工具封装成不复杂的工具了,理解这些工具是需要些时间。我问你,.net网页编程里有这些工具吗?要简单多少?。
透明 该用户已被删除
沙发
发表于 2015-1-20 21:37:31 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
第二个灵魂 该用户已被删除
板凳
发表于 2015-1-22 10:13:09 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
灵魂腐蚀 该用户已被删除
地板
发表于 2015-1-29 07:14:23 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
因胸联盟 该用户已被删除
5#
发表于 2015-1-31 06:30:49 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
飘灵儿 该用户已被删除
6#
发表于 2015-1-31 15:31:19 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
飘飘悠悠 该用户已被删除
7#
发表于 2015-2-6 19:58:31 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
不帅 该用户已被删除
8#
发表于 2015-2-18 11:48:38 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
小女巫 该用户已被删除
9#
发表于 2015-2-24 23:27:28 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
柔情似水 该用户已被删除
10#
发表于 2015-3-3 11:37:41 | 只看该作者
是一种使用者不需花费很多时间学习的语言
乐观 该用户已被删除
11#
发表于 2015-3-11 10:24:40 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
蒙在股里 该用户已被删除
12#
发表于 2015-3-18 05:02:07 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
老尸 该用户已被删除
13#
发表于 2015-3-25 12:17:04 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 01:15

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表