电子邮件客户端毕业论文报告

南京理工大学

毕业设计说明书(论文)

作者: 张鹏学号:0706580140

学院(系):计算机科学与技术

专业: 网络工程

题目: 电子邮件客户端的设计与实现

樊春丽教授

指导者:

(姓名) (专业技术职务)

评阅者:

(姓名) (专业技术职务)

2011年 5 月

毕业设计说明书(论文)中文摘要

毕业设计说明书(论文)外文摘要

1 引言 (3)

1.1电子邮件介绍 (3)

1.2电子邮件的工作原理 (4)

1.3电子邮件技术现状 (4)

1.3.1 端到端的安全电子邮件技术 (4)

1.3.2 传输层的安全电子邮件技术 (5)

1.4 开发环境及运行环境 (6)

2 应用系统开发理论基础 (6)

2.1 SMTP介绍 (6)

2.1.1 SMTP的工作原理及其模型 (8)

2.1.2 SMTP协议的命令和应答 (9)

2.2 POP3协议 (12)

2.2.1 POP3协议简介 (12)

2.2.2 POP3协议简介 (12)

2.3 jmail组建简介及其特点 (13)

2.3.1 jmail组建简介 (13)

2.3.2 Jmail的特点 (13)

2.4 MFC简介 (13)

2.4.1 MFC概述 (13)

2.4.2 MFC中对话框类型 (14)

3 邮件客户端总体设计 (14)

3.1 系统总框架 (15)

3.2程序功能图 (15)

4 邮件客户端详细设计及实现 (16)

4.1 数据库模块的的设计与实现 (16)

4.1.1数据库表的设计 (16)

4.1.2 关键数据库操作功能代码 (18)

4.2 邮件发送模块的的设计与实现 (20)

4.2.1类和界面的设计 (20)

4.2.2关键代码 (20)

4.3 收件箱的设计与实现 (22)

4.3.1 类的设计以及组建导入 (22)

4.3.2关键代码 (24)

4.4 发件箱、草稿箱、已发送信箱的设计与实现 (28)

4.4.1类和界面的设计 (28)

4.4.2关键代码 (30)

4.5 联系人模块的设计与实现 (31)

4.5.1 类和界面的设计 (31)

4.5.2关键代码 (32)

4.6 用户模块的设计与实现 (33)

4.6.1 类和界面的设计 (33)

4.6.2 关键代码 (34)

4.7其它关键代码 (36)

4.7.1 窗口创建函数 (36)

4.7.2 窗口销毁函数 (37)

5 结论 (38)

6 致谢 (39)

7 参考文献 (39)

1引言

21世纪是网络飞速发展的时代,电子邮件已经成为热门话题。随着网络技术的不断发展,网络应用已经渗透到人类社会的各个角落。作为网络世界信息传输的支撑点的电子邮件,更是人们关注的焦点。通过电子邮件无论朋友在何方,都可以通过电子邮件方便的联系交流,电子邮件开辟网络世界里的一片天地。

电脑的日益普及,大大改变了各行各业的工作方式和人们的生活方式,越来越多的人开始进入到电脑的世界。电脑的普及化,进而促进了互联网的进一步的发展和完善,而作为互联网上基本的存在电子邮件系统给予了上网的电脑用户另一个别样的空间。

1.1电子邮件介绍

电子邮件(简称E-mai1)又称电子信箱、电子邮政,它是—种用电子手段提供信息交换的通信方式。它是全球多种网络上使用最普遍的一项服务。这种非交互式的通信,加速了信息的交流及数据传送,它是—个简易、快速的方法。通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将邮件送到世界的各个角落。到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,E-mai1不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。

电子邮件不是一种“终端到终端”的服务,是被称为“存贮转发式”服务。这正是电子信箱系统的核心,利用存贮转发可进行非实时通信,属异步通信方式。即信件发送者可随时随地发送邮件,不要求接收者同时在场,即使对方现在不在,仍可将邮件立刻送到对方的信箱内,且存储在对方的电子邮箱中。接收者可在他认为方便的时候读取信件,不受时空限制。在这里,“发送”邮件意味着将邮件放到收件人的信箱中,而“接收”邮件则意味着从自己的信箱中读取信件,信箱实际上是由文件管理系统支持的—个实体。因为电子邮件是通过邮件服务器(mai1 server)来传递档的。通常mail server是执行多任务操作系统UNIX的计

算机,它提供24小时的电子邮件服务,用户只要向 mail server管理人员申请—个信箱账号,就可使用这项快速的邮件服务。

1.2电子邮件的工作原理

1) 电子邮件系统是一种新型的信息系统,是通信技术和计算机技术结合的产物。

电子邮件的传输是通过电子邮件简单传输协议(Simple Mail Transfer Protocol,简称SMTP)这一系统软件来完成的,它是Internet下的一种电子邮件通信协议。

2) 电子邮件的基本原理,是在通信网上设立“电子信箱系统”,它实际上是一个计算机系统。系统的硬件是一个高性能、大容量的计算机。硬盘作为信箱的存储介质,在硬盘上为用户分一定的存储空间作为用户的“信箱”,每位用户都有属于自己的—个电子信箱。并确定—个用户名和用户可以自己随意修改的口令。存储空间包含存放所收信件、编辑信件以及信件存盘三部分空间,用户使用口令开启自己的信箱,并进行发信、读信、编辑、转发、存档等各种操作。系统功能主要由软件实现。

3) 电子邮件的通信是在信箱之间进行的。用户首先开启自己的信箱,然后通过键入命令的方式将需要发送的邮件发到对方的信箱中。邮件在信箱之间进行传递和交换,也可以与另—个邮件系统进行传递和交换。收方在取信时,使用特定账号从信箱提取。

1.3电子邮件技术现状

随着网络的进一步发展,电子邮件已经成为人们联系沟通的重要手段,而电子邮件的安全问题也越来越得到使用者的重视。对此,惠普公司及时提出了安全电子邮件的全面解决方案。

1.3.1 端到端的安全电子邮件技术

端到端的安全电子邮件技术,保证邮件从被发出到被接收的整个过程中,内

容保密,无法修改,并且不可否认(privacy,integrity,non-repudation)。目前的Internet上,有两套成型的端到端安全电子邮件标准:PGP和S/MIME。

PGP是Pretty Good Privacy的简称,是一种长期一直在学术圈和技术圈内得到广泛使用的安全邮件标准。其特点是通过单向散列算法对邮件内容进行签名,以保证信件内容无法修改,使用公钥和私钥技术保证邮件内容保密且不可否认。发信人与收信人的公钥都分布在公开的地方,如FTP站点,而公钥本身的权威性(这把公钥是否代表发信人?)则可以由第三方、特别是收信人所熟悉或信任的第三方进行签名认证,没有统一的集中的机构进行公钥/私钥的签发。即在PGP系统中,信任是双方之间的直接关系,或是通过第三者、第四者的间接关系,但任意两方之间都是对等的,整个信任关系构成网状结构,这就是所谓的WEB of Trust。最近,基于PGP的模式又发展出了另一种类似的安全电子邮件标准,称为GPG,Gnu Privacy Guard。

S/MIME是Secure Multi-Part Intermail Mail Extension的简称。它是从PEM (Privacy Enhanced Mail)和MIME(Internet邮件的附件标准)发展而来的。同PGP一样,S/MIME也利用单向散列算法和公钥与私钥的加密体系。与PGP不同的主要有两点:首先,它的认证机制依赖于层次结构的证书认证机构,所有下一级的组织和个人的证书由上一级的组织负责认证,而最上一级的组织(根证书)之间相互认证,整个信任关系基本是树状的,这就是所谓的Tree of Trust。其次,S/MIME将信件内容加密签名后作为特殊的附件传送。S/MIME的证书格式也采用X.509,但与一般浏览器网上购物使用的SSL证书还有一定差异,支持的厂商相对少一些。在国外,Verisign免费向个人提供S/MIME电子邮件证书;在国内也有公司提供支持该标准的产品。而在客户端,Netscape Messenger 和Microsoft Outlook都支持S/MIME。

1.3.2 传输层的安全电子邮件技术

传统的邮件包括信封和信本身;电子邮件则包括信头和信体。现存的端到端安全电子邮件技术一般只对信体进行加密和签名,而信头则由于邮件传输中寻址和路由的需要,必须保证原封不动。然而,一些应用环境下,可能会要求信头在传输过程中也能保密,这就需要传输层的技术作为后盾。目前主要有两种方式实

现电子邮件在传输过程中的安全,一种是利用SSL SMTP和SSL POP,另一种是利用VPN或者其他的IP通道技术,将所有的TCP/IP传输封装起来,当然也就包括了电子邮件。

SMTP,即Simle Mail Transfer Protocol,简单邮件传输协议,是发信的协议标准;POP,即Post Office Protocol,邮箱协议,是收信的协议。SSL SMTP 和SSL POP即在SSL所建立的安全传输通道上运行SMTP和POP协议,同时又对这两种协议作了一定的扩展,以更好地支持加密的认证和传输。这种模式要求客户端的EMAIL软件和服务器端的EMAIL服务器都支持,而且都必须安装SSL证书。

基于VPN和其他IP通道技术,封装所有的TCP/IP服务,也是实现安全电子邮件传输的一种方法。这种模式往往是整体网络安全机制的一部分。

1.4 开发环境及运行环境

1.4.1开发环境

Microsoft Windows XP Professional

Visual C++ 6.0、Microsoft Access2007

1.4.2 运行环境

Intel Pentium 2及以上处理器,32M以上内存,4G以上硬盘

Microsoft Windows 9X/NT操作系统

800*600或以上的屏幕分辨率

2 应用系统开发理论基础

本章介绍了这次设计所需要用到的各种软件,包括Tomcat、JDK、JavaMail API等工具,也介绍了邮件客户端需要的SMTP和POP3协议等。

2.1 SMTP介绍

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是一种提供可靠且有效电子邮件传输的协议。SMTP是建立在FTP文件传输服务上

的一种邮件服务,主要用于传输系统之间的邮件信息并提供与来信有关的通知。

SMTP目前已是事实上的在Internet传输E-Mail的标准,是一个相对简单的基于文本的协议。在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确定是存在的),然后消息文本就传输了。可以很简单地通过Telnet程序来测试一个SMTP服务器,SMTP使用TCP端口25。要为一个给定的域名决定一个SMTP服务器,需要使用MX(Mail eXchange)DNS。

在20世纪80年代早期SMTP开始被广泛地使用。当时它只是作为UUCP 的补充,UUCP更适合于处理在间歇连接的机器间传送邮件。相反SMTP在发送和接收的机器始终都联网的情况下工作得最好。

SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。SMTP重要特性之一是其能跨越网络传输邮件,即“SMTP邮件中继”。通常,一个网络可以由公用因特网上TCP可相互间访问的主机、防火墙分隔的TCP/IP网络上TCP可相互访问的主机,以及其他LAN/WAN中的主机利用非TCP传输层协议组成。使用SMTP,可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关是实现某处理机与其他网络之间的邮件传输。

在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来识别出传输邮件的下一跳IP地址。

Sendmail是最早实现SMTP的邮件传输代理之一。到2001年至少有50个程序将SMTP 实现为一个客户端(消息的发送者)或一个服务器(消息的接受者)。一些其他的流行的SMTP服务器包括Philip Hazel 的exim,IBM 的Postfix,D.J.Bernstein的Qmail,以及Microsoft Exchange Server.

由于这个协议开始是基于纯ASCⅡ文本的,在二进制文件上处理得并不好。后来开发了用来编码二进制文件的标准,如MIME,以使其通过SMTP来传输。今天,大多数SMTP服务器都支持8位MIME扩展,它使二进制文件的传输变得几乎和纯文本一样简单。

( 注意:SMTP是一个"推"的协议,它不允许根据需要从远程服务器上“拉”来消息。要做到这点,邮件客户端必须使用POP3或IMAP上。另一

个,SMTP服务器可以使用ETRN(Extended Turn,扩展回车)命令在SMTP 上触发一个发送。)

垃圾邮件仍然是个重要的问题。原始的SMTP协议的局限之一在于它没有为发送方进行认证的功能。因此定义了SMTP-AUTH 扩展。由于SMTP 巨大安装基础的网络效应,广阔地修改SMTP或者完全替代它被认为是不现实的。Internet Mail 2000 就是这样一个为替换而做的建议。IRTF 的反垃圾邮件研究小组正在研究一些提供简单、灵活、轻量级的、可升级的源端认证的建议。最有可能被接受的建议是Sender Policy Framework 协议。

2.1.1 SMTP的工作原理及其模型

1、 SMTP的工作原理

SMTP是工作在两种情况下:一是电子邮件从客户机传输到服务器:二是从某一个服务器传输到另一个服务器。SMTP也是个请求/响应协议,命令和响应都是基于ASCⅡ文本,并以CR和LF符结束。响应包括一个表示返回状态的三位数字代码。SMTP在TCP协议25号端口监听连续请求。

连接和发送过程如下:

1)建立TCP 连接。

2)客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL 命令;服务器端正希望以OK作为响应,表明准备接收。

3)客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行;服务器端则表示是否愿意为收件人接收邮件。

4)协商结束,发送邮件,用命令DATA发送。

5)以“.”号表示结束输入内容一起发送出去,结束此次发送,用QUIT 命令退出。

2、 SMTP模型

SMTP设计基于以下通信模型:针对用户的邮件请求,发送SMTP建立与接收SMTP之间建立一个双向传送通道。接收SMTP可以是最终接收者也可以是中间传送者。SMTP命令由发送SMTP发出,由接收SMTP接收,而应答则反方面传送。

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

接收者可以接收邮件则返回OK应答。SMTP发送者再发出RCPT命令确认邮件是否接收到。如果SMTP接收者接收,则返回OK应答;如果不能接收到,则发出拒绝接收应答(但不中止整个邮件操作),双方将如此重复多次。当接收者收到全部邮件后会接收到特别的序列,如果接收者成功处理了邮件,则返回OK应答。

SMTP提供传送邮件的机制,如果接收方与发送方连接在同一个传送服务下时,邮件可以直接由发送方主机传送到接收方主机;或者,当两者不在同一个传送服务下时,通过中继SMTP服务器传送。为了能够对SMTP服务器提供中继能力,它必须拥有最终目的主机地址和邮箱名称。

MAIL命令参数是回复路径,它指定邮件从何处来;而RCPT命令的参数是转发路径的,它指定邮件向何处去。向前路径是源路径,而回复路径是返回路径(它用于发生错误时返回邮件)。

当同一个消息要发往不同的接收者时,SMTP遇到了向不同接收者发送同一份数据的复制品的问题,邮件命令和应答有一个比较奇怪的语法,应答也有一个数字代码。在下面,例子中可以看到哪些使用实际的命令和应答。

命令与应答对大小写不敏感,也就是说,命令和应答可以是大写,小写或两者的混合,但这一点对用户邮件名称却不一定是对的,因为有的主机对用户名大小写是敏感的。这样SMTP实现中就将用户邮箱名称保留成初始时的样子,主机名称对大小写不敏感。

命令与应答由ASCII字母表组成,当传送服务提供8位字节传送通道,每7位字符正确传送,而最高位被填充为0。当指定一般的命令或应答格式后,参数会由一些类似于语言的字符串表示出来,如""或"",这里尖括号表示这是一种类似于语言的变量。

2.1.2 SMTP协议的命令和应答

1、SMTP协议的命令

SMTP命令定义了邮件传输或由用户定义的系统功能。它的命令是由结束的字符串。而在带有参数的情况下,命令本身由和参数分开,如果未带参数可以直接和连接。邮箱的语法格式必须和接收站点的格式一致。下面讨论SMTP命令和应答。

发送邮件操作涉及到不同的数据对象,它们由不同的参数相互连接。回复路径就是MAIL命令的参数,而转发路径则是RCPT命令的参数,邮件日期是DATA 命令的参数。这些参数或者数据对象必须跟在命令后。这种模式也就要求有不同的缓冲区来存储这些对象,也就是说,有一个回复路径缓冲区,一个转发路径缓冲区,一个邮件内容缓冲区。特定的命令产生自己的缓冲区,或使一个或多个缓冲的内容被清除。SMTP协议包括以下命令:

1) HELLO (HELO)

此命令用于向接收SMTP确认发送SMTP。

2) MAIL (MAIL)

此命令用于开始将邮件发送到一个多个邮箱中。

3) RECIPIENT (RCPT)

此命令用于确定邮件内容的唯一接收者;多个接收者将由多个此命令指定。

4) DATA (DATA)

接收者将跟在命令后的行作为邮件内容。

5) SEND OR MAIL (SOML)

此命令用于开始一个邮件操作将邮件内容传送到一个或多个终端上,或者传送到邮箱中。对于每个接收者,如果接收者终端打开,邮件内容将被传送到接收者的终端上,否则就送到接收者的邮箱中。

6) SEND AND MAIL (SAML)

此命令用于开始一个邮件操作将邮件内容传送到一个或多个终端上,并传送到邮箱中。如果接收者终端打开,邮件内容将被传送到接收者的终端上和接收者的邮箱中。

7) RESET (RSET)

此命令指示当送邮件操作将被放弃。任何保存的发送者,接收者和邮件内容应该被抛弃,所有缓冲区和状态表应该被清除,接收方必须返回OK应答。

8) VERIFY (VRFY)

此命令要求接收者确认参数是一个用户。如果这是(已经知道的)用户名,返回用户的全名和指定的邮箱。此命令对回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区没有影响。

9) EXPAND (EXPN)

此命令要求接收者确认参数指定了一个邮件发送列表,如果是一个邮件发送列表,就返回表中的成员。如果这是(已经知道的)用户名,返回用户的全名和指定的邮箱。

10) HELP (HELP)

此命令导致接收者向HELP命令的发送者发出帮助信息。

11) NOOP (NOOP)

此命令不影响任何参数和已经发出的命令。

12) QUIT (QUIT)

此命令指示接收方必须发送OK应答然后关闭传送信道。接收方在接到QUIT 命令并做出响应之前不应该关闭通信信道。发送方在发送QUIT命令和接收到响应之前也不应该关闭信道。

13) TURN (TURN)

此命令指定接收方要么发送OK应答并改变角色为发送SMTP,要么发送拒绝信息并保持自己的角色。

2、SMTP的应答码

SMTP协议的每一个命令都会返回一个应答码,应答码的每一个数字都是有特定含义的,如第一位数字为2时表示命令成功;为5表失败;3表没有完成。一些较复杂的邮件程序利用该特点,首先检查应答码的首数字,并根据其值来决定下一步的动作。下面将SMTP的应答码如下:

501参数格式错误

502命令不可实现

503错误的命令序列

504命令参数不可实现

211系统状态或系统帮助响应

214帮助信息

220<domain>服务就绪

221<domain>服务关闭

421<domain>服务未就绪,关闭传输信道

250要求的邮件操作完成

251用户非本地,将转发向<forward-path>

450要求的邮件操作未完成,邮箱不可用

550要求的邮件操作未完成,邮箱不可用

451放弃要求的操作;处理过程中出错

551用户非本地,请尝试<forward-path>

452系统存储不足,要求的操作未执行

552过量的存储分配,要求的操作未执行

553邮箱名不可用,要求的操作未执行

354开始邮件输入,以"."结束

554操作失败

2.2 POP3协议

2.2.1 POP3协议简介

POP3(Post Office Protocol 3)即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。

2.2.2 POP3协议简介

POP3(Post Office Protocol 3) POP适用于C/S结构的脱机模型的电子邮件协议,目前已发展到第三版,称POP3。它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。

POP适用于C/S结构的脱机模型。脱机模型即不能在线操作,不像IMAP4(netscape支持IMAP4)当客户机与服务器连接并查询新电子邮件时,被该客户机指定的所有将被下载的邮件都将被程序下载到客户机,下载后,电子邮件客户机就可以删除或修改任意邮件,而无需与电子邮件服务器进一步交互。POP3客户向POP3服务器发送命令并等待响应,POP3命令采用命令行形式,用ASCII码表示。服务器响应是由一个单独的命令行组成,或多个命令行组成,响应第一行以ASCII文本+OK或-ERR指出相应的操作状态是成功还是失败在POP3协议中有三种状态,认可状态,处理状态,和更新状态。

2.3 jmail组建简介及其特点

2.3.1 jmail组建简介

jmail是一种服务器端的邮件发送组件,和个人用的客户端邮件软件不一样的。jmail是在服务器上给程序用来发邮件用的,除了软件编程人员,其他人一般平常用不上。jmail是一个第三方邮件操作组件,通常位于web服务器端,和站点程序紧密配合来接收及提交邮件到邮件服务器的控件,让网站拥有发送邮件及接收邮件的功能。

2.3.2 Jmail的特点

(1)可以发送附件;

(2)详细日志能力,便于你查看问题所在;

(3)设置邮件发送的优先级;

(4)支持多种格式的邮件发送,比如说以HTML或者TXT的方式发送邮件。这是个免费的组件。

(5)密件发送/(CC)抄送/紧急信件发送能力;

(6)最关键的就是--免费的组件,不必花钱,所以非常值得使用。

2.4 MFC简介

2.4.1 MFC概述

MFC是微软基础类库的简称,是微软公司实现的一个c++类库,主要封装了大部分的windows API函数,vc++是微软公司开发的c/c++的集成开发环境,所谓集成开发环境,就是说利用它你可以编辑,编译,调试,而不是使用多种工具轮换操作,灵活性较大。有时人们说vc呢也指它的内部编译器,集成开发环境必须有一个编译器内核,要不有什么用,例如DevC++其中一个编译器内核就是gcc。 MFC除了是一个类库以外,还是一个框架,你应该试过,在vc++里新建一个MFC的工程,开发环境会自动帮你产生许

多文件,同时它使用了mfcxx.dll。xx是版本,它封装了mfc内核,所以你在你的代码看不到原本的SDK编程中的消息循环等等东西,因为MFC框架帮你封装好了,这样你就可以专心的考虑你程序的逻辑,而不是这些每次编程都要重复的东西,但是由于是通用框架,没有最好的针对性,当然也就丧失了一些灵活性和效率但是MFC的封装很浅,所以效率上损失不大,灵活性还可以,虽然也有很多缺陷,但还是一个比较好的东西,个人以为,不逊色于KFC。

模态对话框,又叫做模式对话框,是指在用户想要对对话框以外的应用程序进行操作时,必须首先对该对话框进行响应。如单击【确定】或【取消】按钮等将该对话框关闭。一般来说,Windows应用程序中,对话框分为模态对话框和非模态对话框两种。二者的区别在于当对话框打开时,是否允许用户进行其他对象的操作。模态对话框垄断了用户的输入。当一个模态对话框打开时,用户只能与该对话框进行交互,而其他用户界面对象收不到输入信息。模态对话框下,用户需要操作目标对话框就必须先操作模态对话框。用户对模态对话框的处理如图所示。模态对话框的处理过程

2.4.2 MFC中对话框类型

非模态对话框(又叫做无模式对话框),与模态对话框不同,当用户打开非模态对话框时,依然可以操作其他窗口。

本程序使用的是非模态对话框和模态对话框两种类型的对话框。

3 邮件客户端总体设计

本章主要包括本次设计的系统框架图和系统模块图,能够方便读者理解邮件系统的结构。

3.1 系统总框架

软件的总体框架如图3.1:

图3.1 总体框架图

3.2程序功能图

软件的功能图,如图3.2

图3。2

程序功能图

4 邮件客户端详细设计及实现

4.1 数据库模块的的设计与实现

本系统将所有发送、接受、保存的邮件都保存在access数据库中。使用ADO技术对数据库进行操作,在StdAfx.h头文件中需要导入AOD动态链接库相关文件(#import "C:\Program Files\Common Files\System\ado\msado15.dll"

no_namespace\

rename("EOF","adoEOF")rename("BOF","adoBOF")

4.1.1数据库表的设计

本系统数据库名为zhangpeng,分别创建了联系人,草稿箱,发件箱,已发送,联系人,用户6张表。表的结构大致如下:

收件箱表。如图4.1

图4.1 收件箱表

草稿箱表。如图4.2

图4.2 草稿箱表

发件箱表,如图4.3

图4.3发件箱表已发送表如图4.4

图4.4 已发送表用户表,如图4.5

图4.5 用户表联系人表,如图4.6

图4.6 联系人表

相关文档
最新文档