|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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网页编程里有这些工具吗?要简单多少?。 |
|