- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
为了保持应用系统实现语言的连续性,在J2EE系统中通常采
在J2EE规范定义的企业应用系统构建方式和策略中,没有对应用系统的电子邮件处理方式进行明确定义和规范。为了保持应用系统实现语言的连续性,在J2EE系统中通常采用JavaMail API,根据特定的邮件处理协议实现基于应用系统的电子邮件发送和接收功能。
JavaMail支持的电子邮件协议类型
JavaMail API针对电子邮件对象的封装、邮件发送和接收等均定义了相应的对象。这些对象中定义方法在执行过程中依赖于具体的邮件传输协议以及网络系统中邮件服务器支持的邮件管理协议类型。 简单邮件传输协议 简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)定义了应用程序发送电子邮件规范。在实际的邮件发送过程中,基于SMPT规范的邮件发送程序与局域网或者互联网中的电子邮件服务器进行数据信息交换,将用户的电子邮件数据文件发送至邮件服务器中。 邮局协议 邮局协议(Post Office Protocol Version3,POP3)定义了电子邮件的接收规范。基于POP3协议的邮件接收程序向邮件服务器查询属于特定邮件账户的电子邮件并将该邮件数据传输到本地的收件箱(InBox)中。 Internet邮件访问协议 在邮件接收程序设计中可以采用前面介绍的POP3协议,也可以采用功能更为完善的Internet邮件访问协议(Internet Message Access Protocol,IMAP)。基于该协议的邮件接收程序可以在接收邮件服务器中邮件的同时,将该邮件保存在邮件服务器中的多个文件夹(Folder)对象中,实现了邮件在邮件服务器中的备份和驻留。但是,支持该协议的邮件服务器必须具有海量硬盘存储空间以支持多用户邮件的长期存储。 除了上述广泛应用的协议类型之外,JavaMail API还支持多用途互联网邮件扩展协议(MIME)、网络新闻传输协议(NNTP)等多种邮件管理协议类型。但是,常规的J2EE应用系统电子邮件发送和接收功能均基于JavaMail API支持的SMTP和POP3等协议。
JavaMail API基本邮件管理对象
为了实现邮件对象的封装、发送、身份认证和接收等功能,在JavaMail API的javax.mail和ernet包中定义了会话、邮件、地址、认证、传输和存储等基本邮件管理对象。 会话对象 会话(Session)对象用于定义一个邮件处理过程,例如包括创建邮件对象、邮件对象中数据的封装以及邮件发送等步骤的邮件发送过程、包括创建邮件数据存储对象、邮件数据文件接收以及邮件内容解析等过程的邮件接收过程。在会话对象的创建过程中可以指定用于邮件服务器获取客户端信息的属性(Property)对象和用于在邮件服务器中进行邮件发送和接收者身份确认的认证(Authenticator)对象。 在应用程序中可以采用两种方式创建会话对象:一种方式是调用Session对象的静态方法getDefaultInstance创建共享类型的会话对象,如下面的代码:
Session mailSession = Session.getInstance(property, authenticator);
另外,也可以调用该对象的静态方法getInstance创建与具体的客户端相关的会话对象,如下面的代码:
Session mailSession = Session.getDefaultInstance(property, authenticator);
地址对象 JavaMail API中的地址(Address)对象用于在创建的邮件对象中封装发件人地址、收件人地址以及类似于Microsoft Outlook邮件管理软件的抄送和密送人地址等。需要注意的是在程序设计中不能直接应用Address对象来封装邮件的地址对象,原因在于该对象采用抽象类定义形式,在应用程序中不能直接创建该类的对象实例,而是利用ernet.InternetAddress类来实现地址对象的封装。 下面代码创建发件人地址senderAddress、收件人地址receiverAddress、抄送地址ccReceiverAddress和密送地址bccRreceiverAddress:
Address senderAddress = new InternetAddress(quot;sender@quot;);
Address receiverAddress = new InternetAddress(quot;receiver@quot;);
Address ccReceiverAddress = new InternetAddress(quot;ccReceiver@quot;);
Addr
文档评论(0)