JavaMail深入浅出(1)计算机等级考试

文章作者 100test 发表时间 2010:01:30 10:39:31
来源 100Test.Com百考试题网


  我干软件开发也有一点的年头了,回头想想,也经历了不少的酸甜苦辣,为解决了复杂的问题快乐过.也为不分昼夜的加班赶工程郁闷过.不过这些都没能减少我对计算机的热情,我对程序的喜好.以前对JavaMail也有一些学习性的认识,不过一直没在实际的项目中应用过.直到最近的一个项目,需要JavaMail 所以我打算认真的学习一下这种技术,因为我目前擅长的是Struts,而Struts又不具备邮件发送的功能,所以我要深刻的学习一下 JavaMailAPI.所以在我学会了JavaMail的基本操作的同时也将这篇文章献给大家,虽然技术含量不高,但是希望能对一些刚刚接触 JavaMail的同道中人有所帮助.好了闲话少说进入正题,首先介绍几个邮件传输协议,虽然说不了解这些协议也可以实用JavaMailAPI,但是我始终认为,如果不透彻的了解一种技术的本质,即使会用了也是照葫芦画瓢,换一种模式也许就玩不转了.

  SMTP:简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)由RFC821定义,它定义了发送邮件的机制,在JavaMail环境中,基于JavaMail的程序将和因特网服务供应商 ISP(internet Service Provider ’ s)SMTP服务器通信.SMTP服务器会中转消息给接收方SMTP服务器以便最终让用户经由POP或者IMAP获得.

  POP:代表邮局协议(Post Office Protocol).目前的版本是3.所以一般都称之为POP3.这个协议是由RFC1939定义的.POP是一种机制,因特网上多大数用户用它得到邮件.它规定每个用户一个邮箱的支持.使用POP协议的时候,用户的许多性能并不是由POP协议支持的,如查看几封新邮件消息这个功能,这些功能内建在如 Eudora或MicrosoftOutlook之类的程序中,它们记住一些事.所以在用JavaMail的时候,如果你想要这些信息,你就必须自己算了.

  IMAP:是更高级的用户接收消息的协议,被定义在RFC2060中,IMAP代表因特网消息访问协议(Internet Message Access Protocol),目前用的版本是4,所以也叫做IMAP4.在用到IMAP的时候,邮件服务器必须支持这个协议,不能仅仅把使用POP的程序用于 IMAP,并指望它支持IMAP所有性能.

  MIME:是因特网邮件扩展标准(Multipurpose Internet Mail Extensions).它不是邮件传输协议,但是对于传输的内容的消息,附件以及其他的内容定义了格式.可以理解成一个定义合适的标准.

  NNTP:因为JavaMail将供应商和所有其它的东西分开了,您就能轻松添加额外的协议支持.NNTP 就是网络新闻传输协议.

  JavaMailAPI可以到 http://java.sun.com/products/javamail/index.html 进行下载,并将mail.jar添加到classpath即可.

  JAF框架可以到 http://java.sun.com/products/javabeans/glasgow/jaf.html 进行下载,并将activation.jar添加到classpath即可.

  如果实用J2EE就没由什么特定非要用基本的JavaMailAPI了.J2EE的类就能处理了.只要确保j2ee.jar文件在classpath中就Ok了.

  下面我用一个最简单的例子还演示第一条消息的发送.

  1,获取系统Properties.

  Properties props = System.getProperties().

  2,将您的SMTP服务器名添加到mail.smtp.host关键字的属性中.

  Props.pout( “ mail.smtp.host ” ,host).

  3,获取基于Properties Session对象.

  Session session = Session.getDefaultInstance(props,null).

  4,从Session创建一个MimeMessage.

  MimeMessage message = new MimeMessage(session).

  5,设置消息from域.

  Message.setForm(new InternetAddress(from)).

  6,设置to域.

  Message.addRecipient(Message.RecipientType.TO,new InternetAddress(to)).

  7,设置消息主题.

  message.setSubject( “ HelloJavaMail ” ).

  8,设置消息内容.

  Message.setText( “ Welcome to JavaMail ” ).

  9发送消息.

  Transport.send(message).

  10,在编译用运的时候传递MSTP服务器,from地址,to地址.

  通过简单的接触了JavaMail相信大家多邮件发送也有了简单的了解和认识,下面我主要研究一下它的具体功能,也就是说具体的接口或类的含义.


相关文章


在java的main方法中调用java和javac计算机等级考试
JAVA类定义,成员类,抽象类及接口类计算机等级考试
Java报表软件比较计算机等级考试
JavaMail深入浅出(2)计算机等级考试
JavaMail深入浅出(1)计算机等级考试
vb应用程序调用vc的动态库实现联合调试计算机等级考试
java与javascript的数据类型转换计算机等级考试
Java线程的概念与原理计算机等级考试
Java中的TCP_UDP网络通信编程计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛