电子邮件系统的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章前言
课题来源
当前流行的各大邮件客户端软件除了最主要的收发信件之外,功能越来越复杂,但是人们平常真正用到的功能很少,很多功能尤其对于那些计算机知识相对缺乏的人来说,更加显得太过于华丽而不太实用。有鉴于此,在了解RFC底层协议的基础上,本人开发了这个各种功能相对简单实用的邮件客户端程序,简化了很多不必要的功能。
电子邮件介绍
电子邮件(简称E-mail)又称电子信箱、电子邮政,它是一种用电子手段提供信息交换的通信方式。它是全球多种网络上使用最普遍的一项服务。这种非交互式的通信,加速了信息的交流及数据传送,它是一个简易、快速的方法。通过连接全世界的Internet,实现各类信号的传送、接收、存储等处理,将邮件送到世界的各个角落。到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,E-mail不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。
电子邮件不是一种“终端到终端”的服务,是被称为“存储转发式”服务。这正是电子信箱系统的核心,利用存储转发可进行非实用时通信,属异步通信方式。即信件发送者可随时随地发送邮件,不要求接收者同时在场,即使对方现在不在,仍可将邮件读取信件,不受时空限制。在这里,“发送”邮件意味着将邮件放到收件人的信箱中,而“接收”邮件则意味着从自己的信箱中读取信件,信箱实际上是由文件管理系统支持是一个实体。因为电子邮件是通过邮件服务器(mail server)来传递的。通常mail server 是执行多任务操作系统UNIX的计算机,它提供24小时的电子邮件服务,用户只要向mail server管理人员申请一个信箱账号,就可使用这项快递的邮件服务。
电子邮件的工作原理:
电子邮件的发送是通过电子邮件简单传速协议(Simple Mail Transfer Protocol,简称SMTP)来完成的,电子邮件的接受是通过POP3协议来实现。它是Internet下的一种电子邮件通信协议。
电子邮件的基本原理,是在通信网上设立“电子信箱系统”,它实际上是一个计算机系统。系统的硬件是一个高性能、大容量的计算机。硬盘作为信箱的存储介质,在硬盘上为用户分一定的存储空间作为用户的“信箱”,每位用户都有属于自己的一个电子信箱。并确定一个用户和用户可以随意修改的口令。存储空间包含存放所收信件、编辑信件以及信件存盘三部分空间,用户使用口令开启自己的信箱,并进行发信、读信、编辑、转发、存档等各种操作。系统功能主要由软件实现。
开发环境及运行环境
1.4.1开发环境
AMD Athlom(TM), 512 内存,80G 硬盘
Microsoft(R)Windows XP Professional
Micosoft Visual Studio 2003 (C Sharp)
Micosoft Developer Network for Visual 2003
运行环境
Internet pentium 2及以上处理器,32M以上内存,4G以上硬盘
Micosoft windows 9X/NT操作系统
800*600或以上的屏幕分辨率
确保机器上安装有.Net FrameWork 或者以上版本
第二章 系统需求分析
系统功能需求分析
电子邮件系统需求实现的功能包括新建用户的帐号,接受简单邮件或带附件的邮件,发送简单邮件或发送带附件的邮件,电子邮件编号,电子邮件分类管理,通信薄管理。为了使用通信薄,于是添加了对用户资料的增加,修改,取消操作。
2.1.1软件的总体架构
图 1 软件构架图
2.1.2 系统功能
图2 系统功能图
2.1.3系统总体用例图 发送邮件 接收
主要功能选择
主界面
用户
客户端软件
电子邮件
接收系统 电子邮件接收系统 附加功能 各种错误的提示
简单
邮
件接收
带有附件的邮件接收 简单邮件发送 带有附件的邮件发送 电子邮件编写
电子邮件的分类管理 通讯薄管
理
图3 系统总体用例图
数据库需求分析
在对系统进行系统需求分析的基础上,可以得到系统在处理数据时会用到下面所示的数据项和数据结构:
1)用户信息:帐号名称,用户名,密码,电子邮箱地址,SMTP 服务器,SMTP 端口号,POP3服务器,POP3端口号。
2)通信薄信息:姓名,邮箱地址,电话号码,QQ 号,手机号码,通信地址。
第三章 系统设计
系统的流程设计
邮件客户端最重要的两个功能就是接收邮件和发送邮件,其中接收邮件的流程图如图4所示。从流程图中可以看出,接收邮件时首先要创建一个TCP 连接到POP3服务器。如果连接不成功就退出执行,连接成功后再发送USER 和PASS 命令进行身份验证,身份验证通过后再通过STAT 命令获得要接收的邮件数,当邮件数大于0时,通过RETR 命令逐个接收邮件。接收邮件完毕后,检查帐号中是否保留服务器上的邮件设置,如果是就不作任何操作,否则从服务器上删除已经接受的邮件。最后关闭连接。完成邮件接收。 用户
新建帐号 发送邮件
纯文本邮件
带附件邮件 接收邮件
开始
连接服务器
连接成功?
登录服务器
登陆成功
获得邮件数目
邮件数>0
接受全部的邮件
保留服务器上
的邮件?
删除邮件
关闭连接退出
图4 接收邮件流程图
发送邮件的流程图,先检查“发信箱”目录中是否有待发邮件,如果有就逐个发送这些邮件,流程图如图5所示。其发送过程,首先需要创建一个TCP连接,连接到SMTP服务器,如果连接不成功就退出程序。连接成功后发送USER和PASS命令进行身份验证。身份验证通过后发送邮件,如果发送成功就关闭连接,更新数据库,完成邮件发送任务。