(电子行业企业管理)电子邮件收发系统设计

上传人:管****问 文档编号:137793067 上传时间:2020-07-12 格式:DOCX 页数:40 大小:458.37KB
返回 下载 相关 举报
(电子行业企业管理)电子邮件收发系统设计_第1页
第1页 / 共40页
(电子行业企业管理)电子邮件收发系统设计_第2页
第2页 / 共40页
(电子行业企业管理)电子邮件收发系统设计_第3页
第3页 / 共40页
(电子行业企业管理)电子邮件收发系统设计_第4页
第4页 / 共40页
(电子行业企业管理)电子邮件收发系统设计_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《(电子行业企业管理)电子邮件收发系统设计》由会员分享,可在线阅读,更多相关《(电子行业企业管理)电子邮件收发系统设计(40页珍藏版)》请在金锄头文库上搜索。

1、目 录第1章 引 言2第2章 需求分析32.1 产品可行性分析32.2 产品功能需求分析52.2电子邮件系统收发邮件的过程5第3章 总体设计73.1 本系统的总体架构模型:73.2 系统模块的划分8第4章 详细设计94.1 接收邮件模块94.2 发送和回复邮件模块94.3 邮件处理模块104.4 界面实现的流程图104.5 邮件发送过程的流程图114.6 邮件接收流程134.7 用户鉴权和客户端配置信息流程154.8 阅读邮件流程16第5章 系统功能测试185.1 登陆界面及邮箱账户设置界面测试185.2 主界面测试185.3 发送界面与收件箱界面测试185.4 阅读邮件界面测试20第6章 结

2、论与展望216.1 结论216.2 展望21致 谢22参考文献23附录24第1章 引 言电子邮件(简称 E-mai1)又称电子信箱、电子邮政,表示通过电子通讯系统进行信件的书写、发送和接收,它是继电话、电报和传真之后最快捷、最方便的通讯工具,是 20 世纪人类最伟大的发明。早在互联网流行很久以前,电子邮件就已经存在。它是在主机-多终端的主从式体系中通过一台计算机终端向另一台计算机终端传送文本信息的相对简单方法发展起来的,也就是人们常说的 C/S 架构。如今,电子邮件已经将人与人越来越紧密地联系在一起,成为人们生活的一部分。通过电子邮件系统,人们可以用非常低廉的价格,以非常快速的方式,与世界上任

3、何一个网络用户联系。而电子邮件的形式也从原来的纯文本方式变成现在的 HTML 页面并加载附件的多彩形式,同时,人们还可以得到大量免费的新闻、专题邮件,并实现轻松的信息搜索,这是任何传统的方式也无法相比的。电子邮件的使用简易、投递迅速、收费低廉、易于保存、全球畅通无阻,使得它被广泛地应用。电子邮件收发系统基于Client/Server模式,主要功能通过收发电子邮件客户端程序实现。收发电子邮件需要标准的会话协议支持,SMTP(SimpleMailTransferProtocol)用于发送电子邮件,POP3协议(PostOfficeProtocol)用于接收电子邮件。电子邮件使人们的交流方式得到了极

4、大的改变.人们平时所发送或接收的电子邮件,并不是由本机来实现 SMTP 协议与 POP3 协议,电子邮件内容全是存储在相应服务商的 POP3 服务器上,用户必须要登录到相应的服务器上才能进行浏览、查询或者删除操作,但是,在网络繁忙或大家集中传输数据的时候,人们可能收不到消息或者打开很慢.为了解决这一难题,我们开发了电子邮件收发系统,将邮件服务器上的内容保存到本地机器上,这样即使在网络断开的情况下,也能查询已存在本地机器上的邮件。第2章 需求分析2.1 产品可行性分析整个电子邮件系统由电子邮件服务器端和电子邮件客户端组成,其工作过程及一些涉及到的协议如图2.1所示:图2.1 电子邮件系统工作过程

5、图其中SMTP是因特网电子邮件系统重要的应用层协议。它使用由TCP提供的可靠的数据传输服务把邮件消息从发信人邮箱所在邮件服务器传送到收信人邮箱所在邮件服务器。SMTP是客户-服务器应用模式,由发信人的邮件服务器执行的客户端和收信人的邮件服务器执行的服务器端组成。SMTP的客户端和服务器端同时运行在每个邮件服务器上。当一个邮件服务器向其它邮件服务器发送邮件消息时,它是作为SMTP客户端。当一个邮件服务器从其它邮件服务器接收邮件消息时,它是作为SMTP服务器端。SMTP规范定义在RFC 821中,它的作用是把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器。SMTP限制所有邮件消息的信体必须是

6、简单的7位ASCII字符格式。这个限制使得二进制多媒体数据在由SMTP传送之前必须编码成7位ASCII文本;SMTP传送完毕之后,再把相应的7位ASCII文本邮件消息解码成二进制数据。POP3是RFC 1939中定义的一个简单的邮件访问协议,其功能有限。POP3开始于用户代理打开一个到POP3服务器端口号110的TCP连接。POP3服务器与邮件服务器运行在相同的服务器主机上,前者从用户的邮箱中读取并可能删除邮件消息,后者往用户的邮箱中写入邮件消息。TCP连接建立好之后,POP3依次经历授权认证、处理和更新3个阶段。在授权阶段,用户代理分别发出一个用户名和一个口令以认证下载邮件消息的用户。在处理

7、阶段,用户代理获取邮件消息,并可以标记待删除的邮件消息或去掉这些标记,获取邮件统计信息。更新阶段发生在用户代理发出quit命令以结束当前POP3会话之后,期间POP3服务器删除己加过删除标记的邮件消息。在POP3会话期间,用户代理发出命令,POP3服务器则对每个命令响应以一个应答。可能的应答有两个:指出刚才的命令执行成功的+OK(有时后跟一个解释性消息)和指出刚才的命令执行有误的-ERR。一个邮件的收发就是通过SMTP传递消息到对端邮件服务器,对端客户使用POP3协议从服务器上获得邮件的过程。在本设计中,采用自己编写基于socket的方法,来解析协议,进行邮件收发。同时,在进行邮件收发,需要提

8、供基于BASE64加密解密的鉴权信息,其中Base64是一种很简单的编码转换:对于待编码数据,以3个字节为单位,依次取6位数据并在前面补上两个0形成新的8位编码,由于38=46,这样3个字节的输入会变成4个字节的输出,长度上增加了1/3。上面的处理还不能保证得到的字符都是可见字符,为了达到此目的,Base64制定了一个编码表,进行统一的转换,见表2.1。码表的大小为26=64,这也是Base64名称的由来。由于编码是以3个字节为单位,当剩下的字符数量不足3个字节时,则应使用0进行填充,相应地,输出字符则使用=占位,因此编码后输出的文本末尾可能会出现1至2个=。表2.1 Base64编码表值编码

9、值编码值编码值编码值编码值编码值编码值编码0A8I16Q24Y32g40o48w5641B9J17R25Z33h41p49x5752C10K18S26a34i42q50y5863D11L19T27b35j43r51z5974E12M20U28c36k44s5206085F13N21V29d37l45t5316196G14O22W30e38m46u54262+7H15P23X31f39n47v55363/BASE64的加密解析,SUN公司有自己内部专用的API,该API位于JRE/LIB下,但是该API并没有javadoc,属于不推荐使用的方法,将在后续JDK版本中被剔除,因为本设计根据Base

10、64编码表,自行编写Base64加密解密方法。分析电子邮件传输过程中的协议和加密算法后,本设计进行自主开发是可行的。2.2 产品功能需求分析图2.2 系统总体功能图其中本设计实现的是一个电子邮件客户端,类似于Outlook,有用户邮箱账户设置,登陆验证,接收邮件,阅读邮件,保存邮件,发送邮件等功能。发送邮件:根据用户设置的公网邮箱账户或者一个公网不存在的自己私人域内的符合邮箱命名规范的邮箱账户,可实现对公网邮箱和本客户端(比如新浪,QQ,163)的邮件收发;若邮箱账户是自己随机设置的账户,则不可以向除本客户端以外的邮件服务器发送邮件;接收邮件:接收来自本客户端私人邮箱发来的邮件,在接收邮件的同

11、时,将对邮件进行默认保存,接收完成后,点击即可实现对邮件的阅读;登陆验证:客户端在启动的时候,会对用户的账户信息与客户端内部保存的信息,进行鉴权,防止旁人使用客户端乱发垃圾邮件;账号设置:这个功能主要是实现对邮件发送代理的选择,决定发送邮件功能的能力。2.2电子邮件系统收发邮件的过程图2.3 收发邮件过程图(1) 发信人调用用户代理来编辑要发送的邮件。用户代理用 SMTP 把邮件传送给发送端邮件服务器。(2) 发送端邮件服务器将邮件放入邮件缓存队列中,等待发送。(3) 运行在发送端邮件服务器的 SMTP 客户进程,发现在邮件缓存中有待发送的邮件,就向运行在接收端邮件服务器的 SMTP 服务器进

12、程发起 TCP 连接的建立。(4) TCP 连接建立后,SMTP 客户进程开始向远程的 SMTP 服务器进程发送邮件。当所有的待发送邮件发完了,SMTP 就关闭所建立的 TCP 连接。(5) 运行在接收端邮件服务器中的 SMTP 服务器进程收到邮件后,将邮件放入收信人的用户邮箱中,等待收信人在方便时进行读取。收信人在打算收信时,调用用户代理,使用 POP3(或 IMAP)协议将自己的邮件从接收端邮件服务器的用户邮箱中的取回(如果邮箱中有来信的)。第3章 总体设计3.1 本系统的总体架构模型:图3.1 系统的总体模型图图3.1是该客户端的系统架构图,图中包含了六个图形用户界面,两个邮件接收和发送

13、线程,以及一些相关的辅助方法和数据模型。其中,各个图形用户界面是为了方便用户使用该客户端而设计;用户鉴权和客户端配置信息,是主界面在加载时,针对每个特定的用户,加载其个人设置;用户信息模型和账户信息模型用来对用户进行登录验证,设置邮箱账户时的信息进行封装。发送邮件线程等待来自客户的发送请求,收到请求后,首先根据SMTP模型和用户输入信息,封装一个SMTP消息对象;接着对用户账户和密码进行BASE64加密;最后将封装好的信息对象,交由发送邮件方法进行发送;邮件接收线程是客户端加载成功后,就开始监听25端口,当有邮件信息发送到来时,将接收到的信息封装到一个未读邮件模型中去,然后将该模型传递给邮件接

14、收和保存方法,该方法将会对邮件在硬盘中进行保存,并更新客户端配置信息中得未读邮件信息。3.2 系统模块的划分按照本系统的总体功能划分,可以将这个电子邮件客户端分成5大模块,首先是登录模块,作为验证需要;其次是接收邮件模块,该模块负责邮件的接收,再次是发送模块,该模块负责该对方发送邮件;接着是邮件处理模块,该模块负责邮件的阅读、保存等操作;然后是邮件账户的管理,该操作负责设置客户端对公网的身份标识。图3.2给出了本系统的模块体系:图3.2 系统模块体系图第4章 详细设计4.1 接收邮件模块接收邮件模块主要由接收邮件线程监听端口完成对邮件的接收并对其进行保存和刷新主界面,包括下图中的几个部分。(1) 接收邮件线程。一个邮件系统最基本的功能是能够接受发送的邮件。为了可以同时接收多个邮件,保持并发性,本设计使用java多线程的功能,设计一个可以多线程的接收邮件线程;(2) 保存邮件。接收到对方的邮件以后,必须先对邮件进行保存备份,然后将邮件信息封装到未读邮件模型后,再显示出来,可以隐去一些不必要的内容,只显示邮件关键信息给用户;(3) 刷新界面。当客户端收到一个邮件后,必须能够实时刷新主界面以提醒用户。接收邮件和附件模块的图示:图4.1 接收邮件和附件模块图4.2 发送和回复邮件模块

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号