电子邮件客户端系统设计.docx

上传人:b****6 文档编号:4434291 上传时间:2022-12-01 格式:DOCX 页数:32 大小:98.17KB
下载 相关 举报
电子邮件客户端系统设计.docx_第1页
第1页 / 共32页
电子邮件客户端系统设计.docx_第2页
第2页 / 共32页
电子邮件客户端系统设计.docx_第3页
第3页 / 共32页
电子邮件客户端系统设计.docx_第4页
第4页 / 共32页
电子邮件客户端系统设计.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

电子邮件客户端系统设计.docx

《电子邮件客户端系统设计.docx》由会员分享,可在线阅读,更多相关《电子邮件客户端系统设计.docx(32页珍藏版)》请在冰豆网上搜索。

电子邮件客户端系统设计.docx

电子邮件客户端系统设计

LGGROUPsystemofficeroom【LGA16H-LGYY-LGUA8Q8-LGA162】

 

电子邮件客户端系统设计

毕业设计说明书

电子邮件客户端系统设计

专业

计算机科学与技术

学生姓名

吴振凯

班级

B计算机082

学号

指导教师

许秋艳

完成日期

2012年6月1日

电子邮件客户端系统设计

摘要:

电子邮件的使用简易,投递迅速,收费低廉,易于保存,全球畅通无阻,使得电子邮件被广泛地应用。

当前流行的各大邮件系统除了最主要的收发信件之外,功能越来越复杂,但是人们平常真正用到的功能很少,很多功能尤其对于那些计算机知识相对缺乏的人来说,更见显得太过于华丽而不太实用。

有鉴于此,开发一个集收、发、管理为一体的功能相对简单实用的电子邮件系统可以大大方便我们对邮件的收发和管理。

基于Web的网络邮件系统以SQLServer2005数据库,使用技术开发而成,是一款融合了邮件发送、邮件接收、个人邮件管理等功能的计算机软件系统。

其中邮件发送和接收是系统的两大特色,用户可以发送工作及问候邮件,并且可以接收到别人的邮件,同时还可以对自己的邮件进行相关的操作和管理。

本说明书以软件工程理论为指导,论述了系统的设计构想,分析了系统开发各个阶段的主要任务,并详细阐述了系统各个功能模块的实现原理及解决方案,最后对系统开发过程进行了总结。

关键词:

网络邮件系统;简单邮件传输协议;邮局协议3

DesignofEmailClientSystem

Abstract:

Emailhasbeenincreasinglypopularthesedayssinceitissimple,instantaneous,reliable,cheapandeasytosave.Besidesthefunctionsofreceiveanddelivermails,themailsystemoffersafewmorefeatures.However,peopledonotreallyusetheseflashyfunctions,especiallyforthosewhoknowfewaboutcomputers.Therefore,itwouldbeofgreatusers’conveniencetodevelopasimple,practicalanduser-friendlyemailsystem,whichintegratessending,receiving,andmanagementfunctions.

Theemailsystemisbasedoninternet,usingtheSQLServer2005databasetechnology.Thesystemisonesoftwaresystemthatcombinesthefunctionsofsending,receiving,andmanagingemails.Itsmainfeaturesincludesendingandreplyingemails.Userscansendmailsonworkandgreetings,receivethemails,andmanagetheemails.

Guidedbysoftwareengineeringtheory,thesystemdesignconceptisdiscussedintheinstructionbook.Themaintaskofthevariousstagesofsystemdevelopmentisanalyzed.Thesystemprincipleandsolutionsofthevariousfunctionalmodulesaredescribed.Thesystemdevelopmentprocessissummarizedintheend.

KeyWords:

NetEmailSystem;SMTP;POP3

1概述1

系统的开发背景和开发意义1

2开发环境与技术介绍2

系统开发环境2

开发技术2

3

技术5

C#技术5

VisualStudio2008开发工具7

SQLServer20058

3系统可行性分析9

4系统需求分析9

5系统概要设计10

系统开发环境的安装与配置10

数据库设计11

系统结构图13

系统功能模块设计14

6系统详细设计16

用户登录模块设计与实现16

用户注册模块设计与实现16

邮件收发系统主页面17

发送邮件模块的设计与实现19

接收邮件模块的设计与实现21

文件夹管理模块的设计与实现23

系统配置模块的设计与实现24

7系统测试26

系统模块测试举例26

系统集成测试26

系统测试方法综述28

8结束语28

参考文献29

致谢29

附录30

附录1程序清单31

31

32

33

37

38

40

41

43

48

51

54

电子邮件客户端系统设计

1概述

系统的开发背景和开发意义

网络邮件又称为电子邮件,电子信箱,它是一种用电子手段提供信息交换的通信方式。

它是全球多种网络中使用最普通的一项服务。

这种非交互式的通信,加速了信息的交流及数据传送,是一个简易,快速的方法。

通过连接全世界的Internet,实现各类数据的传送,接收,存贮等处理,将邮件送到世界的各个角落。

到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,通过网络的电子邮件系统,用户可以以非常低廉的价格以非常快速的方式与世界上任何一个角落的网络用户联系,这些电子邮件可以是文字,声音,图像等不同类型的信息。

同时,用户可以得到大量免费的新闻,专题邮件,并实现轻松的信息搜索。

电子邮件不是一种“终端到终端”的服务,是被称为“存贮转发式”服务。

这正是电子信箱系统的核心,利用存贮转发可以进行非实时通信,属于异步通信方式。

即信件发送者可随时随地发送邮件,不要求接收者同时在场,即使对方现在不在,仍可将邮件立刻送到对方的信箱内,且存储在对方的电子邮箱中。

接收者可在他认为方便的时候读取信件,不受时空的限制。

在这里,“发送”邮件意味着将邮件放到收件人的信箱中,而“接收”邮件意味着从自己的邮箱中读取信件,信箱实际上是由文件管理系统支持的一个实体。

因为电子邮件是通过邮件服务器(mailserver)来传递的。

自从电子邮件系统诞生以后,电子邮件作为Internet最为广泛的应用之一,在人们的工作和生活中扮演着重要的角色,应用的普及使电子邮件技术有了飞速的发展。

随着中国互联网应用的日益普及和逐步深入,其重要性也越加体现出来。

Internet的发展不但为其他网络业务提供了全球信息交换和信息发布的能力,而且Internet的技术以其开放性,标准行,成熟性和实用性为邮件系统的建设,应用开发,管理和维护等提供了很好的借鉴,给传统的邮件发送系统带来了巨大的冲击。

电子邮件已经成为使用最多,最受欢迎的信息交换手段之一。

电子邮件的使用简易,投递迅速,收费低廉,易于保存,全球畅通无阻,使得电子邮件系统能被广泛地应用,当前流行的各大邮件客户端软件的除了最主要的收发信件之外,功能越来越复杂,但是人们平常真正用到的功能很少,很多功能尤其对于那些计算机知识相对缺乏的人来说,更见显得太过于华丽而不太实用,有鉴于此,该网络邮件系统就是在参照一些大多数人熟悉的邮件系统的基础上,自行开发的一个集收、发、管理为一体的功能相对简单实用的电子邮件客户端,简化了很多不必要的功能,主要是基于web下的应用SMTP协议而实现的网络服务设计。

2开发环境与技术介绍

系统开发环境

硬件环境

处理器:

Pentium(R)Dual-CoreCPUT4200@

内存:

2GB

硬盘空间:

安装驱动器上要求2G以上的可用空间

软件环境

操作系统:

WindowsXPSP3

数据库软件:

MiccosoftSQLServer2005

编程语言:

C#

开发工具:

VisualStudio2008

浏览器:

建议使用微软浏览器及其以上版本

开发技术

SMTP的简介

SMTP(SimpleMailTransferProtocol)即简单邮件传输协议,电子邮件从客户机传输到服务器或从某一个服务器传输到另一个服务器使用的传输协议。

它能够在传送中接力传送邮件,传送服务提供了进程间的通信环境(IPCE),此环境包括一个网络,几个网络或一个网络的子网。

传送系统(或IPCE)不是一对一的。

进程可能直接和其它进程通过已知的IPCE通信。

邮件是一个应用程序或进程间的通信。

邮件可以通过连接在不同IPCE上的进程跨网络进行传送。

更特别的是,邮件可以通过不同网络上的主机接力式传送。

SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。

通过SMTP协议所指定的服务器,用户就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。

SMTP服务器是遵循SMTP协议的发送邮件服务器,用来发送或中转用户发出的电子邮件。

  SMTP是一种提供可靠且有效电子邮件传输的协议。

SMTP是建模在FTP文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。

  SMTP独立于特定的传输子系统,而且仅要求一条可以保证传送数据单元顺序的通道且只需要可靠有序的数据流信道支持。

SMTP重要特性之一是其能跨越网络传输邮件,即“SMTP邮件中继”。

通常,一个网络可以由公用互联网上TCP可相互访问的主机、防火墙分隔的TCP/IP网络上TCP可相互访问的主机,及其它LAN/WAN中的主机利用非TCP传输层协议组成。

使用SMTP,可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关实现某处理机与其它网络之间的邮件传输。

  在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器或网关主机。

域名服务系统(DNS)的邮件交换服务器可以用来识别出传输邮件的下一跳IP地址。

  SMTP在传输文件过程中使用25号端口

SMTP的模型

SMTP设计基于以下通信模型:

针对用户的邮件请求,发送SMTP建立与接收SMTP之间建立一个双向传送通道。

接收SMTP可以是最终接收者也可以是中间传送者。

SMTP命令由发送SMTP发出,由接收SMTP接收,而应答则反方面传送。

一旦传送通道建立,SMTP发送者发送MAIL命令指明邮件发送者。

如果SMTP接收者可以接收邮件则返回OK应答。

SMTP发送者再发出RCPT命令确认邮件是否接收到。

如果SMTP接收者接收,则返回OK应答;如果不能接收到,则发出拒绝接收应答(但不中止整个邮件操作),双方将如此重复多次。

当接收者收到全部邮件后会接收到特别的序列,如果接收者成功处理了邮件,则返回OK应答。

 

SMTP提供传送邮件的机制,如果接收方与发送方连接在同一个传送服务下时,邮件可以直接由发送方主机传送到接收方主机;或者,当两者不在同一个传送服务下时,通过中继SMTP服务器传送。

为了能够对SMTP服务器提供中继能力,它必须拥有最终目的主机地址和邮箱名称。

MAIL命令参数是回复路径,它指定邮件从何处来;而RCPT命令的参数是转发路径的,它指定邮件向何处去。

向前路径是源路径,而回复路径是返回路径(它用于发生错误时返回邮件)。

当同一个消息要发往不同的接收者时,SMTP遇到了向不同接收者发送同一份数据的复制品的问题,邮件命令和应答有一个比较奇怪的语法,应答也有一个数字代码。

在下面,例子中可以看到哪些使用实际的命令和应答。

完整的命令和应答在第四节。

命令与应答对大小写不敏感,也就是说,命令和应答可以是大写,小写或两者的混合,但这一点对用户邮件名称却不一定是对的,因为有的主机对用户名大小写是敏感的。

这样SMTP实现中就将用户邮箱名称保留成初始时的样子,主机名称对大小写不敏感。

ASP是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。

指ActiveServerPages(动态服务器页面),运行于IIS之中的程序,它是建立在通用语言运行时刻库(CLR)上的应用程序框架。

它用来在服务器端构建功能强大的WEB应用程序。

提供了几个超越以前WEB开发模式的优点:

a.增强的性能

是运行在服务器端的编译后的CLR代码,而不是像ASP那样解释执行。

利用提前绑定,即时编译,本地优化和缓存服务来提高性能。

所有这一切,性能远远大于用户以往写的每一行代码。

b.世界级水平的开发工具支持

在VisualStudio的集成开发环境(IDE)中,框架由丰富的工具箱和设计器组成。

所见即所得的(WYSIWYG)编辑方式、拖放服务器控件、以及自动部署,仅仅是这一强大工具所提供的一少部分功能。

c.强大而富有弹性

由于是基于(CLR)的,因此整个.NET平台的强大和富有弹性,同样可以应用于web应用程序开发者。

.NET框架的类库、消息以及数据访问解决方案,都可以无缝集成到WEB。

也是语言中立的,因此用户可以选择最熟悉的语言,或者通过几种语言来共同完成一个应用。

而且,CLR的互用性可以保证用户升级到的时候,现存的基于COM的开发投资依然保留。

d.简单

使执行常用的工作变得很容易,比如从简单的表单提交、客户端验证,到部署和站点配置。

例如,允许用户建立用户接口,实现页面和逻辑代码的分离,同时,就像vb的表单执行模式那样来处理事件(也就是说,由页面驱动模式变成了事件驱动模式)。

此外,CLR简化了部署,用来管理代码服务,例如自动参照和垃圾回收。

e.易于管理

使用一个基于文本的、分层次的配置系统,它简化了服务器端环境和web应用程序的设置。

由于配置信息用纯文本格式保存,新的设置不需要本地管理工具的支持。

这种“零本地支持”的理念也同样应用到了部署应用程序。

应用程序部署到服务器,简化为复制必要的文件到服务器。

在部署,甚至替换正在运行的变异代码的时候,也不需要重新启动服务器。

f.可伸缩性和有效利用性

被设计成可伸缩的,能为集群和多处理器环境设计提高性能。

而且,运行时刻密切监视和管理进程,这样,如果发生了错误的行为,例如漏洞和死锁,新的进程会在当前位置建立,来帮助用户的应用程序继续处理事件请求。

g.可订制和扩展

提供一种良好的扩充结构,允许开发者在适当的级别“插入”他们的代码。

事实上,使用自己的编写的组件可以扩展或者替换运行时刻的任何子组件。

执行自定义验证或状态服务变得前所未有的容易。

h.安全性

内建的windows验证和每一个应用程序的独立配置,可以保证用户应用程序的安全性。

技术

的名称起源于ADO(ActiveXDataObjects),这是一个广泛的类组,用于在以往的Microsoft技术中访问数据。

使用名称,是因为这是在.NET编程环境中优先使用的数据访问接口.

它提供了平台互用性和可伸缩的数据访问。

增强了对非连接编程模式的支持,并支持RICHXML。

由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。

事实上,接受数据的组件不一定要是组件,它可以是基于一个MicrosoftVisualStudio的解决方案,也可以是任何运行在其它平台上的任何应用程序。

  

是一组用于和数据源进行交互的面向对象类库。

通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。

  

允许和不同类型的数据源以及数据库进行交互。

然而并没有与此相关的一系列类来完成这样的工作。

因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。

一些老式的数据源使用ODBC协议,许多新的数据源使用OleDb协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NET的类库来进行连接。

提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用一组不同的类库。

这些类库称为DataProviders,并且通常是以与之交互的协议和数据源的类型来命名的。

提供的类分别有Connection类,Command对象,DataReader类,DataSet对象,DataAdapter类,DataTable类。

是与数据源交互的.NET技术。

有许多的DataProviders,它将允许与不同的数据源交流―取决于它们所使用的协议或者数据库。

然而无论使用什么样的DataProvider,用户都是使用相似的对象与数据源进行交互。

SqlConnection对象管理与数据源的连接。

SqlCommand对象允许用户与数据源交流并发送命令给它。

为了对进行快速的只“向前”地读取数据,使用SqlDataReader。

如果想使用断开数据,使用DataSet并实现能进行读取或者写入数据源的SqlDataAdapter。

C#技术

C#简介

C#(CSharp)是微软(Microsoft)为.NETFramework量身订做的程序语言,C#拥有C/C++的强大功能以及VisualBasic简易使用的特性,是第一个组件导向(Component-oriented)的程序语言,和C++与Java一样亦为对象导向(object-oriented)程序语言。

C#在带来对应用程序的快速开发能力的同时,并没有牺牲C与C++程序员所关心的各种特性。

它忠实地继承了C和C++的优点。

对C或C++有所了解的人会发现它特别的熟悉。

即使是新手,C#也不会有任何其它的麻烦,快速应用程序开发(RapidApplicationDevelopment,RAD)的思想与简洁的语法将会使新手迅速成为一名熟练的开发人员。

C#特点

C#是专门为.NET应用而开发出的语言。

这从根本上保证了C#与.NET框架的完美结合。

在.NET运行库的支持下,.NET框架的各种优点在C#中表现得淋漓尽致。

以下是C#的一些突出的特点:

简洁的语法、精心地面向对象设计、与Web的紧密结合、完整的安全性与错误处理。

a.简洁的语法。

在缺省的情况下,C#的代码在.NET框架提供的“可操纵”环境下运行,不允许直接的内存操作。

它所带来的最大的特色是没有了指针。

C#用真正的关键字换掉了那些把活动模板库(ActiveTemplateLibrary,ALT)和COM搞得乱糟糟的伪关键字,如OLE_COLOR、BOOL、VARIANT_BOOL、DISPID_XXXXX等等。

每种C#操作符在.NET类库中都有了新名字。

C#对语法进行了简化,只保留了常见的形式,而别的冗余形式从它的语法结构中被清除出去。

b.精心地面向对象设计

C#具有面向对象的语言所应有的一切特性:

封装、继承与多态性,这并不出奇。

然而,通过精心地面向对象设计,从高级商业对象到系统级应用,C#是建造广泛组件的绝对选择。

在C#的类型系统中,每种类型都可以看作一个对象。

C#提供了一个叫做装箱(boxing)与拆箱(unboxing)的机制来完成这种操作,而不给使用者带来麻烦。

C#只允许单继承,即一个类不会有多个基类,从而避免了类型定义的混乱。

C#中没有了全局函数,没有了全局变量,也没有了全局常数。

一切的一切,都必须封装在一个类中。

代码将具有更好的可读性,并且减少了发生命名冲突的可能。

C#具备了良好的开发环境。

结合自身强大的面向对象功能,C#使得开发人员的生产效率得到极大的提高。

对于公司而言,软件开发周期的缩短将使它们更好应付网络经济的竞争。

在功能与效率的杠杆上找到了支点。

c.与Web的紧密结合

.NET中新的应用程序开发模型意味着越来越多的解决方案需要与Web标准相统一,例如超文本标记语言(HypertextMarkupLanguage,HTML)和XML。

由于历史的原因,现存的一些开发工具不能与Web紧密地结合。

SOAP的使用使得C#克服了这一缺陷,大规模深层次的分布式开发从此成为可能。

由于有了Web服务框架的帮助,对程序员来说,网络服务看起来就象是C#的本地对象。

程序员们能够利用他们已有的面向对象的知识与技巧开发Web服务。

仅需要使用简单的C#语言结构,C#组件就能够方便地为Web服务,并允许它们通过Internet被运行在任何操作系统上的任何语言所调用。

d.完整的安全性与错误处理

语言的安全性与错误处理能力,是衡量一种语言是否优秀的重要依据。

任何人都会犯错误,即使是最熟练的程序员也不例外:

忘记变量的初始化,对不属于自己管理范围的内存空间进行修改等等。

这些错误常常产生难以预见的后果。

一旦这样的软件被投入使用,寻找与改正这些简单错误的代价将会是让人无法承受的。

C#的先进设计思想可以消除软件开发中的许多常见错误,并提供了包括类型安全在内的完整的安全性能。

为了减少开发中的错误,C#会帮助开发者通过更少的代码完成相同的功能,这不但减轻了编程人员的工作量,同时更有效地避免了错误的发生。

VisualStudio2008开发工具

微软公司的VisualStudio2008是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。

VisualStudio提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。

VisualStudio2008提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序。

VisualStudio2008包括各种增强功能,例如可视化设计器(使用.NETFramework加速开发)、对Web开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。

VisualStudio2008为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持AJAX的Web应用程序。

开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的Web应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问ASPNET应用程序服务和Microsoft平台。

VisualStudio2008的特点可概括如下:

a.快速的应用程序开发

为了帮助开发人员迅速创建先进的软件,VisualStudio2008提供了改进的语言和数据功能,例如语言集成的查询(LINQ),各个编程人员可以利用这些功能更轻松地构建解决方案以分析和处理信息VisualStudio2008还使开发人员能够从同一开发环境内创建面向多个.NETFramework版本的应用程序。

开发人员能够构建面向.NETFramework、或的应用程序,意味他们可以在同一环境中支持各种各样的项目。

b.突破性的用户体验

VisualStudio2008为开发人员提供了在最新平台上加速创建紧密联系的应用程序的新工具,这些平台包括Web、WindowsVista、Office2007、SQLServer2008和WindowsServer2008。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1