Intel? Pentium? 2及以上处理器,32M以上内存,4G以上硬盘
Microsoft? Windows? XP/NT操作系统
800*600或以上的屏幕分辨率
IE6.0或者其他浏览器
2 软件架构及系统用例图
2.1 系统架构
软件的总体架构如图2-1:
图2-1 软件架构图
2.2 系统总体用例
图2-2 系统总体用例图
2.3 程序功能框图
图2-3 程序功能图
2.4 发送邮件函数
是发送邮件的核心,函数名为imap_mail()。封装了发送邮件的具体实现方法,也是具体的RFC用代码实现的过程。
2.5 接收邮件函数
收邮件是邮件收发系统重要的功能之一,主要利用imap_check()和imap_search()两个函数,其中object imap_check(resource imap_stream)函数用于获取连接id,并返回包含当前邮箱信息的对象,参数imap_stream为imap_open()函数成功连接上邮件服务器后所返回的连接标识。imap_search()函数用于搜寻指定标准的信件。
3 SMTP和POP3协议的研究
由于要开发的是邮件收发系统,就不得不用到SMTP协议和POP协议而其中最重要的要是SMTP(Simple Mail Transfer Protocol)协议。SMTP被用来在因特网上发送邮件,该协议规定了一些基本的命令和方法使客户端与服务器进行交互,以达到发送邮件的目的。
3.1 SMTP协议简介及工作原理
3.1.1 SMTP简介
SMTP是Simple Mail Transfer Protocol的缩写,即简单邮件传送协议。使用SMTP虚拟服务器可以实现邮件的发送和接收,它提供客户端向服务器端发送邮件的功能,即客户端向服务器发出请求指令,服务器端则给出应答。其优点是速度快、可靠性高,易于操作。
SMTP邮件信息为纯文本格式。文本中包含格式信息,如HTML以及客户使用指定在信息中的MIME类型,以便用合适的方式显示邮件。如果邮件中包含附件,则通过SMTP自动转变成合适的文本类型。
3.1.2 SMTP协议的命令
SMTP分为命令头和信息头两部分,命令头主要完成客户端与服务器端的连接、验证等,整个过程由多条命令组成。由服务器给出的相应信息一般为3位数字的相应码和相应文本,不同的服务器回送相应码是遵守该协议的,而相应正文则不必。SMTP命令及相应信息够是单行的,信息体则是邮件正文部分,最后应以单独的”.”作为结束行。下面是客户端一些常用的SMTP指令。
?HELLO hostname:与服务器连接并告知客户端使用的机器名,可以随便写。
?MAIL FROM:sender_id:告诉服务器发信人的地址。
?RCPT TO:receiver_id:告诉服务器收信人地址。
?DATA:传输信件内容,且最后要以只含”.”的特殊行结束。
?RESET:取消刚才的指令,重新开始。
?VERIFY userid:校验帐号是否存在(此指令为可选指令,服务器可能不支持)。
?QUIT:退出连接。
3.1.3 SMTP的工作原理
SMTP通常有两种工作模式:发送SMTP和接收SMTP。具体工作方式为:发送SMTP在接到用户的邮件请求后,判断此邮件是否为本地邮件,若是直接投送到用户的邮箱,否则向DNS查询远端邮件服务器的MX纪录,并建立与远端接收SMTP之间的一个双向传送通道,此后SMTP命令由发送SMTP发出,由接收SMTP接收,而应答则反方面传送。一旦传送通道建立,SMTP发送者发送MAIL命令指明邮件发送者。如果SMTP接收者可以接收邮件则返回OK应答。SMTP发送者再发出RCPT命令确认邮件是否接收到。如果SMTP接收者接收,则返回OK应答;如果不能接收到,则发出拒绝接收应答(但不中止整个邮件操作),双方将如此重复多次。当接收者收到全部邮件后会接收到特别的序列,如果接收者成功处理了邮件,则返回OK应答。
3.2 POP3协议介绍和工作原理
3.2.1 POP3 简介与命令
POP 即为 Post Office Protocol 的简称,是一种电子邮局传输协议,而 POP3 是它的第三个版本,是规定了怎样将个人计算机连接到 Internet 的邮件服务器和下载电子邮件的电子协议。它是 Internet 电子邮件的第一个离线协议标准。简单点说,POP3 就是一个简单而实用的邮件信息传输协议。
POP 协议允许工作站动态访问服务器上的邮件,目前已发展到第三版,称为 POP3。POP3 允许工作站检索邮件服务器上的邮件。POP3 传输的是数据消息,这些消息可以是指令,也可以是应答。
创建一个分布式电子邮件系统有多种不同的技术支持和途径,诸如:POP(邮局协议)、DMSP(分层式电子邮件系统协议)和 IMAP(因特网信息访问协议)。其中,POP 协议创建最早因此也最为人们了解;DMSP 具有较好的支持“无连接”操作的性能,但其很大程度上仅限于单个应用程序(PCMAIL);IMAP 提供了 POP 和 DMSP 的扩展集并提供对远程邮件访问的三种支持方式:离线、在线和无连接。???
POP 协议支持“离线”邮件处理。其具体过程是:邮件发送到服务器上,电子邮件客户端调用邮件客户机程序以连接服务器,并下载所有未阅读的电子邮件。这种离线访问模式是一种存储转发服务,将邮件从邮件服务器端送到个人终端机器上,一般是 PC 机或 MAC。一旦邮件发送到 PC 机或 MAC 上,邮件服务器上的邮件将会被删除。???
POP3 并不支持对服务器上邮件进行扩展操作,此过程由更高级的 IMAP4 完成。 POP3 使用 TCP 作为传输协议。 通过POP,客户登录到服务器后,可以对自己的邮件进行删除,或是下载到本地。POP3的常用命令如表3-1所示。
表3-1 POP3常用命令
命令 参数 状态 描述
USER Username 认可 此命令与下面的pass命令如果都发送成功,则将使状态转换
PASS Password 认可 向POP3服务器发送指定邮箱的登录密码,进行密码验证
APOP Name,Digest 认可 Digest是MD5消息摘要
STAT None 处理 请求服务器发回关于邮箱统计资料(邮箱总数和总字节数)
UIDL [Msg#] 处理 回送邮件唯一标识符
LIST [Msg#] 处理 回送邮件数量和每个邮件的大小
RETR [Msg#] 处理 回送由参数标识的邮件的全部文本
DELE [Msg#] 处理 服务器将由参数标识的邮件标记为删除,由QUIT命令执行
RSET None 处理 服务器将重置所有标记为删除的邮件,用于撤销DELE命令
TOP [Msg#] 处理 服务器将回送由参数标识的邮件前n行内容,n是正整数
NOOP None 处理 服务器返回一个肯定的相应,不做任何操作
QUIT None 更新 断开与POP3的连接,同时将带有删除标记的邮件进行物理删除
3.2.2 POP工作原理简介
下面就让我们一起来看看电子邮件软件收取电子邮件的过程,一般我们在电子邮件软件的账号属性上设置一个POP服务器的URL(比如pop.163),以及邮箱的账号和密码。这个在收信过程中都是用得到的。当我们按下电子邮件软件中的收取键后,电子邮件软件首先会调用DNS协议对POP服务器进行解析IP地址,当IP地址被解析出来后,邮件程序便开始使用TCP协议连接邮件服务器的110端口,因为POP服务器是比较忙的,所以在这个过程中我们相对要等比较长的时间。当邮件程序成功地连上POP服务器后,其先会使用USER命令将邮箱的账号传给POP服务器,然后再使用PASS命令将邮箱的账号传给服务器,当完成这一认证过程后,邮件程序使用STAT命令请求服务器返回邮箱的统计资料,比如邮件总数和邮件大小等,然后LIST便会列出服务器里邮件数量。然后邮件程序就会使用RETR命令接收邮件,接收一封后便使用DELE命令将邮件服务器中的邮件置为删除状态。当使用QUIT时,邮件服务器便会将置为删除标志的邮件给删了。通俗地讲,邮件程序从服务器接收邮件,其实就是一个对话过程,POP协议就是用于电子邮件的一门语言。
4 RFC822(ARPA因特网文本信件格式的标准)
说道发送和接受邮件,我
上一篇:
PHP毕业论文--教学网站
下一篇:
网上购物系统毕业设计论文