资源预览内容
第1页 / 共48页
第2页 / 共48页
第3页 / 共48页
第4页 / 共48页
第5页 / 共48页
第6页 / 共48页
第7页 / 共48页
第8页 / 共48页
第9页 / 共48页
第10页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
河南理工大学毕业设计(论文)说明书 摘要电子邮件(E-mail)服务作为Internet上应用最多和最广的服务项目,在网络中起到非常重要的作用。如同其他的网络服务,电子邮件系统也有其使用的传输协议,包括简单邮件传输协议 (SMTP, Simple Mail Transfer Protocol)、邮局协议(POP, Post Office Protocol)等这些应用于电子邮件发送和接收的协议。首先我们设计了E-mail客户端管理程序的总体框架,在不打开用户邮箱主页情况下,可以实现接收邮箱中的邮件及向其他邮箱发送信件的功能;其次以SMTP、POP3协议为研究对象,按照SMTP、POP3协议通过套接字发送SMTP、POP3命令,并使用MD5散列算法进行加密传输,接收并处理邮件服务器的反馈信息;然后利用在Microsoft Visual Studio .NET 2003编程环境下实现SMTP、POP3协议的功能,开发出一个既简单又实用的具有发送和接收功能的E-mail客户端程序;最后,通过实测表明,本论文开发出的E-mail客户端程序达到了预期设计的目标。关键词:SMTP/POP3协议,MD5散列算法,邮件客户端Abstract E-mail service as the most widely used in the Internet and the most extensive services in the network play a very important role. As with other network services, e-mail system also has the use of transmission protocols, including Simple Mail Transfer Protocol (SMTP), Post Office Protocol (POP) and so they used the protocol to send and receive e-mail. First, we designed the E-mail client the overall framework of management procedures, without opening the home page under the users mailbox, the mailbox can be achieved to receive mail and send letters to other mail functions; followed by the SMTP, POP3 protocol for the study, in accordance with the SMTP, POP3 protocol through a socket to send SMTP, POP3 commands, and use the MD5 hashing algorithm to encrypt transmission, receiving and processing feedback from the mail server; then use the Microsoft Visual Studio. NET 2003 programming environment to achieve SMTP, POP3 protocol functions, developed a simple and practical E-mail client program with sending and receiving; finally, the test shows that the thesis developed E-mail client program to achieve the desired design goals.Keywords: SMTP/POP3 protocols, MD5 hashing algorithm, E-mail client目 录第一章 前言11.1论文背景11.2 开发背景11.3 开发环境及运行环境21.3.1 开发环境21.3.2 运行环境2第二章 相关理论32.1 SMTP32.1.1 SMTP协议简介及工作原理32.1.2 SMTP设计方案52.2 POP372.2.1 POP3协议简介及工作原理72.2.2 POP3设计方案92.3 电子邮件102.3.1 电子邮件与普通信件传送过程的区别102.3.2 电子邮件格式102.4 MD5散列算法13第三章 系统设计153.1 系统架构设计153.2 框架资源设计153.3 系统代码设计153.3.1 MD5散列算法设计153.3.2 SMTP客户端设计193.3.3 POP3客户端设计31第四章 系统测试374.1 系统界面374.2 系统测试394.2.1 向SMTP服务器发送邮件394.2.2 从POP3服务器收取邮件40第五章 结论41致 谢42参考文献43I第一章 前言1.1论文背景目前由于电子邮件广泛而频繁的使用,国内外各大网站都提供了电子邮件服务,而且有些是免费服务。人们日常使用的电子邮件有很多,但就方式来说只有两种。第一种是在网站上使用电子邮件,也就是一般所说的Web使用方式,通常人们使用时必须首先登录到网页邮件(WebMail)服务器,通过身份验证后才可以查阅收发邮件。但是用户不能总是处于登录状态,也不能每时每刻发送接收邮件。如果长时间没有对WebMail服务器进行操作,则被认为登录超时,自动退出系统。用户需要再次登录邮件服务器,才可以进行操作。由于频繁的登录填写账户和密码,造成了用户对电子邮件的使用产生不便。这时出现一种不需要访问Web页面,只需要您在本地机器上使用电子邮件的相关软件,就可以直接收发、管理电子邮件。它既能支持全部的Internet电子邮件功能,又能改正WebMail服务器使用的种种缺点,方便用户发送接收邮件。流行的电邮客户端包括Microsoft Outlook、Outlook Express、Foxmail等。不同类型的客户端一般都有以下四个基本功能:(1)以邮件标头的形式呈现您邮箱中的所有邮件。标头包括发件人和邮件主题,还可能包含邮件的发送时间、日期以及邮件大小。 (2)用户可以点选标头,阅读相应邮件。 (3)用户可新建并发送邮件。写信时要输入收件人地址、邮件主题和内容。 (4)用户可以在发送邮件时添加附件,也可保存来信中的附件。 高级的电子邮件客户端可能有许多其他功能,但以上这四个基本功能是所有电子邮件客户端的核心。1.2 开发背景当前流行的几大邮件客户端软件除了具有最常用的收发信件功能之外,越来越复杂,而人们平时真正用到的功能很单一,很多功能(尤其对于那些计算机知识相对缺乏的人来说)显得太过于华丽深奥,不太注重实用,而且相对占用比较多的系统资源。有鉴于此,在查询了解RFC底层协议之后,我们简化了很多不必要的功能,开发了这个功能相对既简单又实用的邮件客户端管理程序。1.3 开发环境及运行环境1.3.1 开发环境Windows 7 旗舰版 32位(DirectX 11)Microsoft Visual Studio 2005(C+)Microsoft Visual Studio .NET 20031.3.2 运行环境此邮件客户端运行在Windows 2000 或以上操作系统平台、并且安装有Microsoft .NET Framework 1.0或者以上版本。第二章相关理论2.1 SMTP邮件发送功能的实现,必然会涉及到简单邮件传输协议 (SMTP, Simple Mail Transfer Protocol)。SMTP被用来在因特网上发送邮件,该协议规定了一些基本的命令和方法使客户端与服务器进行交互,以达到发送邮件的目的。2.1.1 SMTP协议简介及工作原理(1) SMTP协议简介SMTP的目标是可靠高效地传送邮件,它独立于传送子系统而且仅要求一条可以保证传送数据单元顺序的通道。SMTP设计基于以下通信模型:针对用户的邮件请求,发送SMTP建立与接收SMTP之间建立一个双向传送通道。接收SMTP可以是最终接收者也可以是中间传送者。SMTP命令由发送SMTP发出,由接收SMTP接收,而应答则反方面传送。一旦传送通道建立,SMTP发送者发送MAIL命令指明邮件发送者。如果SMTP接收者可以接收邮件则返回OK应答。SMTP发送者再发出RCPT命令确认邮件是否接收到。如果SMTP接收者接收,则返回OK应答;如果不能接收到,则发出拒绝接收应答(但不中止整个邮件操作),双方将如此重复多次。当接收者收到全部邮件后会接收到特别的序列,如果接收者成功处理了邮件,则返回OK应答。SMTP提供传送邮件的机制,如果接收方与发送方连接在同一个传送服务下时,邮件可以直接由发送方主机传送到接收方主机;或者,当两者不在同一个传送服务下时,通过中继SMTP服务器传送。为了能够对SMTP服务器提供中继能力,它必须拥有最终目的主机地址和邮箱名称。(2) SMTP工作原理SMTP被用来在因特网上传递电子邮件。RFC821文件规定了该协议的所有细节。SMTP工作在两种情况下:一是电子邮件从客户机传输到服务器;二是从某一个服务器传输到另一个服务器。协议的原理很简单。无非是一个客户端计算机向服务器发送命令,然后服务器向客户端计算机返回一些信息。客户端发送的命令以及服务器的回应都是字符串,用户需要特别的软件就能读出它们。 SMTP是个请求/响应协议,命令和响应都是基于ASCII文本,并以符结束。响应包括一个表示返回状态的的三位数字代码。 SMTP在TCP协议25号端口监听连接请求。 连接和发送过程,这个过程我们在这里用图解的形式来表达,见图2-1。步骤1:建立TCP连接步骤2:客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令,服务器端正希望以OK作为响应,表明准备接收步骤3:客户端发送RCPT命令,以标识该电子邮件的计划收件人,可以有多个RCPT行,服务器端则表示是否愿意为收件人接收邮件步骤4:协商结束,发送邮件,用命令DATA发送步骤5:以.表示结束输入内容一起发送出去步骤6:结束此次发送,用QUIT命令退出图2-1 SMTP连接发送流程 邮件路由过程:SMTP服务器基于域名服务DNS中的计划收件人的域名来路由电子邮件。SMTP服务器基于DNS中的MX记录来路由电子邮件,MX记录注册了域名和相关的SMTP中继主机,属于该域的电子邮件都应向该主机发送。举例说,SMTP服务器mail.abc.com收到一封信要发到shusersh.abc.com:步骤1:sendmail请求DNS给出主机sh.abc.com的CNAME记录,如有,假若CNAME到shmail.abc.com,则再次请求shmail.abc.com的CNAME记录,直到没有为止。步骤2:假定被CNAME到shmail.abc.com,sendmail请shuserabc.com域的DNS给出shmail.abc.com的MX记录。步骤3:sendmail最后请求DNS给出shmail.abc
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号