- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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和其它的第三
您可能关注的文档
- chp3-地理信息系统课件.pdf
- cjx--33空间直线的方向向量及平面的法向量.ppt
- CICS 课程设计《地铁信息管理系统》毕业设计.doc
- Cloning高二英语课件.ppt
- co2与一氧化碳.ppt
- Characteristics of Ore-forming Fluid of the Gaoshan Gold-Silver Deposit龙泉高山金银矿床流体—江彪.pdf
- CloudCC通用解决方案-精髓版20.ppt
- CMC数学竞赛专题2一元函数微分学.doc
- Canada名人简介(英文版).ppt
- CNAS-GL05《实验室内部研制质量控制样品的指南》.pdf
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)