课程设计论文邮件收发器

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

计算机科学与技术学院课程设计(论文)报告姓名:学号:专业:网络工程班级:设计题目:邮件收发器2011年6月计算机科学与技术学院课程设计(论文)报告11绪论1.1电子邮件的发展历程电子邮件由英文electronicmail或e.mail翻译而来,它表示通过电子通讯系统进行信件的书写、发送和接收。作为互联网上最受欢迎的功能之一,电子邮件系统可以为世界上任何一个网络用户传递信息,内容包括文字、图像、声音、视频等。同时,如果用户愿意,通过电子邮件可以得到大量免费的新闻、专题邮件,并实现轻松的信息搜索,这是传统邮件无法比拟的。电子邮件发明于1971年,当时已经存在可传输文件的电脑程序以及一种原始的信息程序。但这两个程序存在局限性,发信方只能给接收方发送公报,且接收方的电脑必须与发送方一致。雷饧姆林森(RayTomlinson)在已有的传输文件程序以及信息程序的基础上,研制出一套全新的文件信息传输程序,可以通过电脑网络发送和接收文件信息。为让人们都拥有容易识别的电子邮箱地址,汤姆林森采用了@符号,符号前面加用户名,后面是用户邮箱所在的地址,即user@address的形式表示用户邮箱地址,这标志着电子邮件的诞生。当时,汤姆林森所在的企业受聘于美国军方,参与Arpanet网络的建设和维护工作。虽然电子邮件在1970年代发明,却是在1980年代兴起。由于1970年代使用Arpanet网络的人较少,网速较慢,用户只能发送简短的信息,这限制了电子邮件的使用;到1980年代中期,个人电脑及Internet的兴起,电子邮件开始传播开来;1990年代中期,互联网浏览器诞生,全球网民人数激增,电子邮件开始被广泛使用。电子邮件系统经过三十多年的发展,目前主要有三种系统类型:(1)免费邮箱大多数网民都有电子邮箱,这种方式投资少,免维护,但每天需要处理大量的邮件,导致邮件的收发速度受到限制,且无法保证邮箱的安全性和服务质量。因此免费邮箱只能作为简单应用,不适合用于交流重要的、需要保密的信息。(2)收费邮箱收费电子邮箱一般比免费邮箱安全、稳定、收发速度快,而且具有邮件杀毒、邮件到达通知、手机收发邮件等功能。但对于企业来说,每个员工可能使用不同的邮箱域名,影响企业形象且不能对邮箱服务器进行管理,无法根据企业实际需要对邮件系统进行改进及扩展。(3)自建邮箱系统随着网络化进程的进一步发展,大多企业或高校建立了自己的电子邮件系统。单位将企业名作为服务器域名。这样,每个企业员工具有使用相同的邮箱服务器,计算机科学与技术学院课程设计(论文)报告2有利于宣传企业形象并可以对邮件服务器进行管理,并提供较好的安全性。目前邮箱服务器主要基于Windows操作系统或Unix操作系统,虽然Windows平台界面友好,操作方便,但基于Windows平台的邮件系统一般为商业性软件,源码保密,不便于对其进行二次开发;Unix平台下虽然有开放的邮件系统源码,但管理复杂,要求管理员深入了解电子邮件系统原理,并具备丰富的Unix平台开发经验。因此,本文自主开发了电子邮件收发器,它属于自建邮箱系统但自主研发。此邮件系统不仅可以实现以局域网为基础的单位内部电子邮件传递,也能通过Intemet和外部进行信息交流。同时,还可根据互联网的发展,随时对邮件系统进行升级与改造,使之更符合单位内部的发展需要1.2电子邮件简介电子邮件系统工作在TCP/lP协议的应用层,采用客户端/服务器模式,通过客户端与服务器的相互通信实现邮件传递。它由两部分组成:MUA(用户代理)和MTA(邮件传输代理)。它的传输过程如图所示:在图中,MUA为用户提供读写邮件界面,也就是常说的客户端;MTA运行在邮件服务器上,负责邮件的完整的传递过程,主要包括SMTP、POP3和MDA三部分。MDA负责将收件人是本地用户的邮件投递到用户邮箱中;而SMTP和POP3负责邮件的传递和收件人从服务器上收取邮件的功能,本文在第二章对它们进行了详细介绍。用户使用MUA发送编写好邮件后,利用SMTP协议发送给自己的MTA。MTA对邮件的收件人进行判断,如果是本地用户则将邮件转给MDA.由它将邮件投递到收件人邮箱;如果用户是其它服务器用户,MTA则连接收件人的MTA,利用SMTP协议将邮件转发,再由收件人的MDA进行投递。最后收件人使用MLTA利用POP3协议将邮件收取到本地主机上。在邮件传递过程中,邮箱地址是必不可少的元素,它表明了邮件的起始与目的地址。完整的邮件地址为:用户名@域名。用户名是用户在服务器上的标识,服务器通过用户名来识别的具体邮箱;而域名则是邮箱所属的服务器的域名,其它服务器可以通过这个域名查询到服务器的m地址;@符号是专门用来表示邮箱地址的特殊计算机科学与技术学院课程设计(论文)报告3符号,它代表“at”的意思。这三部分组合在一起成为邮箱在Interact上的唯一标识。1.3电子邮件主要协议(1)SMTP协议SMTP为简单邮件传输协议,主要保证电子邮件能够可靠和高效地传送。SMTP主要应用在两种情况:一是电子邮件从客户端传输到服务器;二是邮件从一个服务器转发到另一个服务器。当收信人和发信人在同一个网络上时,SMTP服务器把邮件直传发送给收信人信箱;当双方不在同一个网络上时,发信方的SMTP服务器作客户端,将邮件发送给收信入所在网络的SMTP邮件服务器。SMTP协议的基本命令有7个1101,分别为:HELO、MAIL,RCPT,DATA,REST,NOOP和QUIT等。客户端向服务器发送邮件时,首先向SMTP服务器提出连接请求,服务器接受此客户端连接后,双发可以开始通信。以下是对SMTP命令的一些介绍:HELO向服务器标识用户身份。发送者能欺骗,说谎,但一般情况下服务器都能检测到。EHLO向服务器标识用户身份。发送者能欺骗,说谎,但一般情况下服务器都能检测到。.MAILFROM命令中指定的地址是发件人地址RCPTTO标识单个的邮件接收人;可有多个RCPTTO;常在MAIL命令后面。DATA在单个或多个RCPT命令后,表示所有的邮件接收人已标识,并初始化数据传输,以CRLF.CRLF结束VRFY用于验证指定的用户/邮箱是否存在;由于[url=javascript:;安全[/url]方面的原因,服务器常禁止此命令EXPN验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用HELP查询服务器支持什么命令NOOP无操作,服务器应响应OKRSET重置会话,当前传输被取消QUIT结束会话(2)POP3协议电子邮件系统中,常采取用户代理(UA)方式实现邮件发送和接收,而使用邮件传输系统(MTs)为用户提供邮箱服务。POP是用户和邮件服务器之间收取邮件的协计算机科学与技术学院课程设计(论文)报告4议,全称为PostOfficeProtocol,是基于TCP协议的应用层协议,通信端口号为110。现在普遍使用的是POP协议第三版,即POP3协议。POP3协议采用C/S工作模式,即客户/服务器模式。提供POP3服务的主机称为POP3服务器,请求POP3服务的主杌称为POP3客户机。服务器首先为每个邮箱建立一个帐户,每个帐户由用户名和密码构成。邮箱内保存此帐户的未读邮件,客户端通过POP3协议从邮箱内收取邮件后在本地机上进行处理,因此POP3是一个脱机协议。邮件被客户机取走后即被删除,服务器上不保留邮件各份。客户机在和服务器通信前,首先建立连接,然后依次向服务器发送命令。POP3协议包含12条命令,并包含三种状态,即认证状态(AuthorizationState)、处理状态(TransactionState)和更新状态(UpdateState),不同的命令带有不同的参数,适用于不同袄态。客户端通过向服务器发送命令请求服务,如果此请求符合当前服务状态并且语法正确,则服务器接受此请求,返回一条正确信息,此信息以“+OK”开头,后面是服务器相应的响应信息;如果请求命令语法错误或不符合当前服务状态,则返回错误信息,以“-ERR”开头。后面是相应的错误描述信息。以下是POP3命令及参数:USERusername认证用户名PASSpassword认证密码认证,认证通过则状态转换APOPname,digest认可一种安全传输口令的办法,执行成功导致状态转换请参见RFC1321。STAT处理请求server回送邮箱统计资料,如邮件数、邮件总字节数UIDLn处理server返回用于该指定邮件的唯一标识,如果没有指定,返回所有的。LISTn处理server返回指定邮件的大小等RETRn处理server返回邮件的全部文本DELEn处理server标记删除,QUIT命令执行时才真正删除RSET处理撤消所有的DELE命令TOPn,m处理返回n号邮件的前m行内容,m必须是自然数NOOP处理server返回一个肯定的响应QUIT希望结束会话。如果server处于处理状态,则现在进入更新状态,删除那些标记成删除的邮件。如果server处于认可状态,则结束会话时server不进入更新状态。计算机科学与技术学院课程设计(论文)报告52工具技术介绍VisualC++6.0,简称VC或者VC6.0,是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。VisualC++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出VisualC++1.0后,随着其新版本的不断问世,VisualC++已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了VisualC++.NET(VisualC++7.0),但它的应用的很大的局限性,只适用于Windows2000、WindowsXP和WindowsNT4.0。所以实际中,更多的是以VisualC++6.0为平台。VisualC++6.0由Microsoft开发,它不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrateddevelopmentenvironment,IDE)。VisualC++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导ClassWizard等开发工具。这些组件通过一个名为DeveloperStudio的组件集成为和谐的开发环境。Microsoft的主力软件产品。现在的最新版C++编译器集合在MicrosoftVisualStudio2010软件里面,包含C++,Visualbasic,C#,J#,.net。等,其中,VC开发环境的版本已经升级至MicrosoftVisualC++2010,对C++的支持更加全面稳定,建议电脑性能好的可以使用此版本。计算机科学与技术学院课程设计(论文)报告63需求分析3.1稳定性软件最重要的性能就是它的稳定性。本软件在Windows操作系统下使用VisualC++软件进行编写,保证的平台的稳定性。客户端对邮件的所有处理都是在网络连接建立之前进行的,在发送邮件时只是简单的从文件中读取并发送,无需对邮件进行任何处理。这样简化了发送过程,缩短了网络连接时间,避免了发送邮件时要解决邮件格式和内容错误的问题,减少了网络出错的机率。而服务器将收取到的邮件存储在本地硬盘临时文件夹中,只有在邮件投递到用户的邮箱、成功转发或在指定次数内无法转发的情况下才删除,这就保证了邮件不会丢失。3.2兼容性SMTP电子邮件系统应该与目前广泛使用的各种客户端软件及邮件服务器系统相兼容。具体的要求是:·SMTP客户端发送的邮件应该可以被其他邮件客户端软件解析并正确显示;-SMTP客户端可以向现在被广泛使用的邮件服务器发送邮件;·SMTP服务器可以接收任何客户端发送的邮件;·SMTP服务器能够将邮件正确投递或者将收件人不是本地用户的邮件转发给目的服务器。3.3易于维护及修改每个功能设计成独立的模块进行编写程序,模块之间关联性很小,系统的整体设计简洁、清晰。这使得软件有良好的可读性和可移植性,特别是方便了以后对软件进行修改、维护和升级,即使要改变或增减系统的某些功能,也不需要重新编写整个程序,只需对该功能

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功