毕业论文

打赏
当前位置: 毕业论文 > 计算机论文 >

java电子邮件系统的设计与实现(4)

时间:2018-04-11 22:26来源:毕业论文
2.2 POP3协议 Post Office Protocol 3即邮局协议的第3个版本,它是TCP/IP协议族中的一员,是规定个人计算机连接到互联网上的邮件服务器进行收发邮件的方法的协议


2.2 POP3协议
Post Office Protocol 3即邮局协议的第3个版本,它是TCP/IP协议族中的一员,是规定个人计算机连接到互联网上的邮件服务器进行收发邮件的方法的协议。POP3允许用户从服务器上把邮件存储到本地主机,即个人计算机上,同时根据客户端的操作命令以删除或保存在邮件服务器上的邮件。而POP3服务器则是遵循协议的邮件接收服务器。POP3是因特网电子邮件的第一个离线协议标准,使用客户端远程管理在服务器上的电子邮件是它主要的支持方式。      邮件发送到服务器后, 由于POP支持离线邮件处理,电子邮件客户端会调用邮件客户端程序,下载未被阅读的所有电子邮件。这种离线访问模式是一种存储转发服务。邮件从邮件服务器发送到个人计算机上的同时,邮件服务器会删除该邮件。然而很多POP3服务器目前都支持“下载邮件服务器并不删除邮件”,表明在POP3中改进了POP。      POP3操作流程与SMTP协议类似,都是客户端向服务器发送命令,等待响应。POP3采用命令行方式, 服务器响应由一个或多个命令行组成,用ASCII码表示。POP3定义了三种状态:授权状态、事务状态和更新状态。当客户端与服务器建立连接后,客户端向服务器表明自己的身份并得到确认,就可以从授权状态转换为事务状态。
2.3 IMAP协议
Internet Mail Access Protocol即因特网报文存取协议,它比POP3复杂得多。IMAP和POP都按客户服务器方式工作,但它们有很大的差别。它与POP3协议的主要区别是用户可以不用把所有的邮件全部下载,可以通过客户端直接对服务器上的邮件进行操作。IMAP支持断开和连接两种操作模式。在使用IMAP时,所有邮件同样是先送达邮件服务器上的IMAP服务器,接着在用户的个人计算机上运行IMAP客户程序,然后再与邮件服务器上的IMAP服务器程序建立TCP连接。用户在自己的个人计算机上就可以像在本地操纵一样操纵ISP邮件服务器的邮箱,故而IMAP是一个联机协议。当用户个人计算机上的IMAP客户程序打开服务器邮箱时,用户就可以看到邮件的首部。该邮件传到用户的计算机上的前提是用户需要完全打开某个邮件。用户可以根据需要将存储的邮件从某个文件夹中移动到另一个文件夹中,并且能够为自己的邮箱创建便于分类管理的、层次式的邮箱文件夹。用户也可按某些条件查找邮件。IMAP服务器邮箱中的邮件将一直被保存着,直到用户未发出删除邮件的命令之后。
IMAP还允许收信人只读取邮件中的某一个部分。例如,收到了一个带有视频附件(此文件可能很大)的邮件。用户所用网络信道的传输速率很低。为了节省时间,用户可以先阅读邮件的正文部分,待以后有时问再读取或下载这个视频附件。总之,IMAP最大的好处就是用户可以使用不同的计算机在不同的地方随时上网阅读和处理自己的邮件。
2.4 JavaMail
JavaMail是Sun发布的提供给开发者处理与电子邮件相关的编程接口。它是用来处理电子邮件的API,可以方便地执行一些常用的邮件功能。类似于Microsoft Outlook的应用程序可以基于JavaMail开发出来。
JavaMail服务除提供程序之外,还需要JAF(JavaBeans Activation Framework)来处理不是纯文本的邮件内容,这包括MIME(多用途互联网邮件扩展)、URL页面和文件附件等内容。另外很好的实现了JavaMail API的框架有James、Spring Mail。
JavaMail包中有以下处理电子邮件的核心类:Session, Message, Address, Authenticator, Transport, Store, Folder。要求程序提供许多诸如服务器地址、端口、用户名、密码等信息,这是出于JavaMail需要和邮件服务器进行通信的需要。JavaMail通过Properties对象封装这些属性信息。Session是JavaMail提供者配置文件以及设置属性信息的“容器”,本身不会和邮件服务器进行任何的通信。Session通过JavaMail配置文件,程序中设置的Properties对象构建一个邮件处理环境,后续的处理将在Session基础上进行。邮件操作只有发送或接收两种处理方式,JavaMail将这两种不同操作描述为传输(javax.mail.Transport)和存储(javax.mail.Store),分别对应邮件的发送和接收。一旦获得Session对象,就可以由Message类来完成创建要发送的消息。创建了Session和Message完毕,并将内容填入消息后,就可以用Address确定信件地址了。和Message一样,Address也是个抽象类。JavaMail API也可以利用Authenticator通过用户名和密码访问受保护的资源。这些资源对于JavaMail API来说就是邮件服务器。消息发送的最后一部分使用Transport类。这个类是抽象类,用协议(通常是SMTP)指定的语言发送消息,它的工作方式与Session有些类似。在特定邮件协议上,Store类实现读、写、监视、查找等操作。Folder类在分级组织邮件时发挥作用,并提供照javax.mail.Message格式访问电子邮件的能力。 java电子邮件系统的设计与实现(4):http://www.youerw.com/jisuanji/lunwen_12964.html
------分隔线----------------------------
推荐内容