网站大量收购独家精品文档,联系QQ:2885784924

JAVAMAIL编程源代码.pdf

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVAMAIL编程源代码

JavaMail API详解 一、JavaMail API简介 JavaMail API是读取、撰写、发送电子信息的可选包。我们可用它来建立如Eudora、 Foxmail、MS Outlook Express一般的邮件用户代理程序 (Mail User Agent,简称MUA)。 而不是像sendmail或者其它的邮件传输代理 (Mail Transfer Agent,简称MTA)程序那样 可以传送、递送、转发邮件。从另外一个角度来看,我们这些电子邮件用户日常用MUA程序 来读写邮件,而MUA依赖着MTA处理邮件的递送。 在清楚了到MUA与MTA之间的关系后,让我们看看JavaMail API是如何提供信息访问 功能的吧!JavaMailAPI被设计用于以不依赖协议的方式去发送和接收电子信息,这个API 被分为两大部分: 基本功能:如何以不依赖于协议的方式发送接收电子信息,这也是本文所要描述的,不 过在下文中,大家将看到这只是一厢情愿而已。 第二个部分则是依赖特定协议的,比如SMTP、POP、IMAP、NNTP协议。在这部分的JavaMail API是为了和服务器通讯,并不在本文的内容中。 二、相关协议一览 在我们步入JavaMailAPI之前,先看一下API所涉及的协议。以下便是大家日常所知、 所乐于使用的4大信息传输协议: SMTP POP IMAP MIME 当然,上面的4个协议,并不是全部,还有NNTP和其它一些协议可用于传输信息,但 是由于不常用到,所以本文便不提及了。理解这4个基本的协议有助于我们更好的使用 JavaMail API。然而JavaMail API是被设计为与协议无关的,目前我们并不能克服这些协 议的束缚。确切的说,如果我们使用的功能并不被我们选择的协议支持,那么JavaMailAPI 并不可能如魔术师一样神奇的赋予我们这种能力。 1.SMTP 简单邮件传输协议定义了递送邮件的机制。在下文中,我们将使用基于Java-Mail的程 序与公司或者ISP 的SMTP服务器进行通讯。这个SMTP服务器将邮件转发到接收者的SMTP 服务器,直至最后被接收者通过POP或者IMAP协议获取。这并不需要SMTP服务器使用支持 授权的邮件转发,但是却的确要注意SMTP服务器的正确设置(SMTP服务器的设置与JavaMail API无关)。 2.POP POP是一种邮局协议,目前为第3个版本,即众所周知的POP3。POP定义了一种用户如 何获得邮件的机制。它规定了每个用户使用一个单独的邮箱。大多数人在使用POP时所熟悉 的功能并非都被支持,例如查看邮箱中的新邮件数量。而这个功能是微软的Outlook 内建的, 那么就说明微软Outlook之类的邮件客户端软件是通过查询最近收到的邮件来计算新邮件 的数量来实现前面所说的功能。因此在我们使用JavaMail API时需要注意,当需要获得如 前面所讲的新邮件数量之类的信息时,我们不得不自己进行计算。 3.IMAP IMAP使用在接收信息的高级协议,目前版本为第4版,所以也被称为IMAP4。需要注意 的是在使用IMAP时,邮件服务器必须支持该协议。从这个方面讲,我们并不能完全使用IMAP 来替代POP,不能期待IMAP在任何地方都被支持。假如邮件服务器支持IMAP,那么我们的 邮件程序将能够具有以下被IMAP所支持的特性:每个用户在服务器上可具有多个目录,这 些目录能在多个用户之间共享。 其与POP相比高级之处显而易见,但是在尝试采取IMAP时,我们认识到它并不是十分 完美的:由于IMAP需要从其它服务器上接收新信息,将这些信息递送给用户,维护每个用 户的多个目录,这都为邮件服务器带来了高负载。并且IMAP与POP 的一个不同之处是POP 用户在接收邮件时将从邮件服务器上下载邮件,而IMAP允许用户直接访问邮件目录,所以 在邮件服务器进行备份作业时,由于每个长期使用此邮件系统的用户所用的邮件目录会占有 很大的空间,这将直接导致邮件服务器上磁盘空间暴涨。 4.MIME MIME并不是用于传送邮件的协议,它作为多用途邮件的扩展定义了邮件内容的格式: 信息格式、附件格式等等。一些RFC标准都涉及了MIME:RFC822,RFC2045,RFC2046,RFC 2047,有兴趣的Matrixer可以阅读一下。而作为JavaMailAPI的开发者,我们并不需关心 这些格式定义,但是这些格式被用在了程序中。 5.NNTP和其它的第三

文档评论(0)

a888118a + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档