设为首页 加入收藏

TOP

JavaMail深入浅出(1)
2014-11-23 21:27:01 】 浏览:196
Tags:JavaMail 深入浅出

  我干软件开发也有一点的年头了,回头想想,也经历了不少的酸甜苦辣,为解决了复杂的问题快乐过.也为不分昼夜的加班赶工程郁闷过.不过这些都没能减少我对计算机的热情,我对程序的喜好.以前对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操作Excel、PDF文件(2) 下一篇jacob在java系统中的应用配置

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目