发布一篇[JAVA100例]048、利用JavaMail吸收邮件
最后我再次声明,我并没有说不看好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;
StringpopUser=args;
StringpopPassword=args;
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);
}
}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()).getPersonal();
if(from==null)from=((InternetAddress)message.getFrom()).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("");
}
//猎取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网页编程里有这些工具吗?要简单多少?。 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 是一种将安全性(Security)列为第一优先考虑的语言 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 是一种使用者不需花费很多时间学习的语言 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
页:
[1]