通过JavaMail访谒Hotmail邮箱[Java编程]
本文“通过JavaMail访谒Hotmail邮箱[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
相信很多人都有MSN聊天工具的帐号,比方abc@hotmail.com ,这个账号其实也是一个邮件地址,可以举行正常的邮件收发功效,你可以通过网址 http://www.hotmail.com 来拜候和操作这个邮箱举行邮件的收发.但是这个邮箱有一个限制就是它并不供应POP3大概SMTP服务,也就是说普通的邮件客户端工具无法利用这个邮箱,固然目前有不少的邮件工具可以支持Hotmail邮箱,但是假如我们需求在我们的Java项目中增添对Hotmail邮箱的支持,那常常会不知从什么地方开始动手,因为SUN公司供应的JavaMail 本身并不供应对除了POP3/IMAP以及SMTP外其他协议的支持.
但事实上,JavaMail只是定义了一组平台无关、独立于通讯协议的邮件程序框架,大概说是接口,它是作为Java的可选包存在的.因此可以这样说:JavaMail并不关心所利用的协议,不管是POP3、SMTP、IMAP当然还有Hotmail用的HTTP协议.关于JavaMail的客户端而言也是这样的,下图就是一个最简单的JavaMail构造图,通过Transport举行邮件的发送,通过Store实现对邮件的收取,而差别协议的实现,JavaMail里的概念叫做Provider,只需求按照JavaMail定义的接口实现自己的Provider便可.
为了实现通过JavaMail拜候Hotmail邮箱,我们就需求架起JavaMail接口与Hotmail服务所供应的拜候接口之间的桥梁.在这之前我们必须首先理解Hotmail所利用的接口协议.
Hotmail通过地址 http://services.msn.com/svcs/hotmail/httpmail.asp 供应基于HTTP协议的服务,它差别于我们通过浏览器拜候 http://www.hotmail.com 的这个地址,背面这个地址是供应利用户一个基于浏览器的拜候界面以便对邮箱举行操作,你当然可以通过编写HTTP客户端程序来解析页面并获得邮件的信息,但是这样做不但实现的复杂程度非常高,并且每次页面气势发生改变后程序都要做呼应的调整,因此不具有通用性,明显是不可行的.而地址 http://services.msn.com/svcs/hotmail/httpmail.asp 则差别,它供应了固定的利用程序接口.当你利用浏览器拜候该地址的时刻,会弹出下面要求登录的窗体:
而当输入精确的用户名和口令后会再弹出一次或两次该提醒窗口,但提醒信息差别,操作完成后呈现页面无法显示的错误,错误码是 405 (资源不答应).因此该服务并不答应通过浏览器来拜候.
事实上Hotmail利用的是WebDAV来供应基于HTTP协议的利用编程接口,WebDAV(Web 分布式创作和版本掌握)已经成为重要的 Web 通讯协议.WebDAV所要办理的问题是:
1.改写保护:HTTP 1.1 无法确保客户端可以保护资源,并且可以在其他客户端同时编辑它们的情形下举行更改. 利用 WebDAV,可以通过量种方法来锁定资源,以便让其他客户端知道您对所谈论的资源感爱好,大概避免其他客户端拜候该资源.
2.资源管理:HTTP 只能直接拜候单个资源. WebDAV 供应一种更有效地组织数据的办法. WebDAV 引入了可包含资源 的调集(近似于文件系统文件夹)概念. 通过 WebDAV 举行的资源管理包含以下功效:成立、移动、复制和删除调集,以及调集合的资源或文件.
3.文档属性:差别范例的数据具有唯一的属性,这有助于描写数据. 比方,在电子邮件中,这些属性大概是发件人的姓名和接纳邮件的时间. 在合作文档中,这些属性大概是文档原始作者的姓名和最后一个编辑者的姓名. 因为人们利用的文档范例各不相同,所以大概的属性范例列表也变得无限大. XML 是 WebDAV 所需的一种可扩大通讯工具.
关于WebDAV的更多资料可以参阅本文最后的参考资料.
相关于自行解析Hotmail的浏览器页面而言,基于特定协议WebDAV的接口使Hotmail邮件客户端程序的实现越发安定和坚固.在理解了JavaMail API的基本接口以及Hotmail所供应接口的协议,本文的标题就变得非常具体了,就是假如编写基于WebDAV的JavaMail Provider(JavaMail供应者)并利用这个供应者来实现Hotmail邮件收发功效,但这标题太大并且已经超越了一篇文章所能论述的范围,因此我们接下来将引入一个开放源码项目JDAVMail,并具体介绍若何通过这个项目实现Hotmail邮件的收发功效.
以上是“通过JavaMail访谒Hotmail邮箱[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |