题目: 基于web的邮件收发系统设计与实现
摘 要
计算机的应用已经越来越广泛,它从产生到完善已经差不多有50年左右的历史,更新换代速度非常快,在人们生活、工作中都发挥了不可替代的作用,几乎所有行业都离不开它,已经成为了人们工作中不能缺少的一部分。此次程序采纳JSP动态技术,通过MyEclipse开发工具,代码方面运用了JavaSE的若干工具包,引用了SUN公司开发的开源的JavaMail包作为系统开发的技术基础。采用了SMTP协议与POP3协议连接对应服务器。采用MySql数据库对数据存取管理。通过B/S模式研究研制这一系统。在对SMTP、pop3协议的熟悉和理解在,运用ssh框架对系统进行开发。开发出基于C/S结构下的简易邮件系统,能完成邮件的发送、接收、以及附件处理功能等。
本系统在互联网的环境中进行测试。系统能成功实现登录邮箱、发送邮件、接收邮件、管理邮件等功能,测试完全通过,基本功能已经实现
关键词:POP3协议;SMTP协议;电子邮件;
Abstract
With the gradual popularity of the network, the application of Email in people’s lives is becoming more and more extensive. In addition to the professional mail service system, the general large websites and units provide email services. Therefore, through the familiarity and understanding of SMTP,pop3 protocol, as well as the mastery of JSP programming and web design skills, a simple mail service system based on C / S structure is developed. It can complete the mail sending, receiving, as well as attachment processing functions etc. The main software used is Eclipse, MySql. In JAVA environment, using JSP programming to realize mail. The various functions of the system mainly supports the authentication of users, and users can enter the system only after correct registration. You can check your own mail in the system or send it to any mailbox, and you can send attachments when you send it.
Through the study and research of this subject, I have mastered the basic web programming skills, and practice my practical ability. At the same time, it is recognized that with the rapid development of information technology, the efficient, fast and convenient mail system will be paid more and more attention and used by more and more people, and it will bring more convenient and faster life to people.
Key words: POP3;SMTP;The E-mail
目 录
完成时间 2019年05月20日 II
摘 要 III
Abstract IV
目 录 V
第1章 绪 论 1
1.1 课题背景 1
1.2 国内外的发展趋势与现状 1
第2章 系统分析 3
2.1系统需求分析 3
2.2系统的可行性分析 3
2.3.相关协议及开发工具 4
2.3.1 SMTP协议 4
2.3.2 POP3协议 4
2.3.3 JSP技术简介 5
2.3.4 Eclipse简介 5
2.3.5 JAVA开发语言 5
第3章 系统设计 7
3.1系统模块的功能图 7
3.2实体之间的关系E-R图 8
3.3数据库结构设计 8
3.3.1系统信息配置表 9
3.3.2用户表 9
3.3.3邮件信息记录表 10
第4章 系统详细设计与实现 11
4.1系统流程说明 11
4.2 用户管理模块 12
4.3 邮件发送模块 16
4.4 邮件接收模块 19
第5章 系统测试与评价 23
5.1测试用例编写规则 23
5.2测试用例 23
表5.1功能测试用例 23
5.3部分测试结果演示 24
5.3.1用户登录测试 24
5.3.2邮件撰写功能测试 25
结 论 27
参考文献 28
致 谢 29
第1章 绪 论
1.1 课题背景
我国已经逐步迈入5G时代,其中信息产业的飞速发展是最大的推动力,软件作为现代数据信息的重要支撑形式,发挥着越来越重要的作用。并且在当今社会,随着我国改革开放的深入,市场经济飞速发展,人们对于信息技术信息交流的使用也是越来越频繁,传统的纸质信的方式已经不现实,最近新兴发展起来的QQ、微信、MSN等实时性太强,并不是所有人都一直有时间守着手机或者电脑来等候消息,而过一段时间没看一些重要的消息有可能会被覆盖掉,所以对于一些重要的信息,或者说一些大公司之间的交流,还是会以电子邮件为主,比如现在最流行的招聘就是透过电子邮件发送简历,公司通过电子邮件发送面试通知和offer等。电子邮件通常也被称之为E-mail,通常传输的时候主要的标志符是@。电子邮件市值也是将传统的纸质性质的信封给电子化了,并且就电子邮件的成本来说,价格非常低,传输速度方面也非常快,能够以最少的人力物力迅速的传遍世界的每一个有信号角落,并且电子邮件能够传输各种加载有信息的载体包括文字、图片等信息。由于电子邮件的优良性能,电子邮件已经在全世界范围得到了推广,并且使用的企业,人数都有了显著的提升[1]。
电子邮件的发现以及推广运用,极大地方便了人们的日常生活。对于企业来说,促进了企业的员工以及管理层之间的交流,并且特有的OUTLOOK电子邮件保证了公司的秘密不被泄露出去。对于整体的社会经济效应而言,电子邮件能够以最少的人力物力迅速的传遍世界的每一个有信号角落,极大地促进了经济的发展。
1.2 国内外的发展趋势与现状
如今电子邮件在互联网上的作用不仅仅只是信息的交流,从某种意义上来说,它已经可以成为你在互联网上的身份证。在日常上网行为的使用上,如果你没有一个电子邮件账号,可以说是寸步难行,因为由于互联网的发展,电子邮件也已经发展的越来越稳定和安全。当你在各大运营网站在注册账号时,填写电子邮件地址信息已经成为了与填写身份证号一样的必填信息之一。电子邮箱如今已经成为全世界最普遍的一种应用。在中国这个发展中国家,网民大约占了人口的1/7,人均使用邮箱量就有4.5个。电子邮件凭借着其独特不可取代的信息传递方式,今后的发展只会越来越好,越来越便利[2]。
1965年,电子邮件诞生在美国麻省理工学院。在1971年,被称为电子邮件之父的Ray Tomlinson,开发了个专门用于计算机与计算机之间信息传递的系统。此系统用@作为地址标识符,通过ARPANET也就是当今互联网的前身,发出了世界上第一封电子邮件。这个最原始最简易的计算机与计算机的信息交流方式,成为世界上第一个互联网应用,给互联网的蓬勃发展奠定了基础[3]。
在70年代,电子邮件刚刚诞生,电子邮件系统的协议没有一个统一的标准,所以有许多基于互联网的Email传输的协议,这些协议鱼龙混杂,各有各的优势,各有各的缺点,但是过于复杂的传输协议是不利于电子邮件的开发与发展的。因此,人们不满足于现状急切需要一个,功能全面并且稳定安全,容易学习又有利于开发者的利用的专门基于电子邮件的传输协议。不负众望在80年代,RFC772文件中发布了电子邮件的传输协议。从此电子邮件系统统一了传输协议的唯一标准。通过人们的实践并且改进。世界上基于电子邮件传输唯一标准协议终于诞生了,也就是:SMTP协议。国内的电子邮件发展,1987年有着“中国互联网第一人”之称的钱天百发出了中国的第一封电子邮件,内容虽然简单但是意义重大,内容为:穿越长城,走向世界。这也为中国国人走向世界奠定了基础。但是当时电子邮件还只是少数人的独木舟,真正将电子邮件平民化的还是163.net也就是中国第一个电子邮局,它是中国人设计的第一个免费的邮箱系统[9]。通过不断地发展,在10年前的曾经,Email这个网络词汇风靡全国。随着互联网在全国范围内的普及,各个互联网公司都看中了电子邮件的发展潜力,于是纷纷开始建立自己独有的电子邮箱服务器,并且面对所有人免费开放。其中网易、腾讯、新浪等等公司脱颖而出,成为中国如今的主流电子邮箱服务器供应商[4]。
第2章系统分析
2.1系统需求分析
在对一个系统进行开始开发时,首先我们要对该系统的应用场景以及用户需求进行市场调研。只有在了解了用户需求和市场背景的情况下,才能确保应用软件系统的可行性。对用户的需求和市场背景进行需求分析对系统的研发和以后的发展至关重要。搜集用户的需求,从用户的需求中分析出软件的各个功能。总而来说,就是将用户的需求转化为软件要实现的功能,达到用户想要的效果。邮件系统主要是对邮件的管理,通过对用户的管理将用户信息保存在系统中,在系统中通过用户的邮箱号进行发送邮件。该系统适用于小型企业的内部信息通信。满足公司内部员工的工作事项交流。因此该系统在用户需求上和市场背景上都是可行的。
2.2系统的可行性分析
(1)技术可行性:
科技不断向前发展,计算机的功能越来越丰富,已近逐步渗透到社会生活的各个角落,对各个行业来说都是不可缺少的一个重要工具。它的功能之多,作用之强大,人们利用它进行文字处理、图形设计、信息储存、信息查询、图像处理、休闲放松等。在快步伐的今天,人们利用计算机能够完成各种各样的难易程度不同的工作,但是,我们即便说计算机非常智能化,各种不同的软件可以帮助我们实现多种不同形式的需求,但是也有可能还不能解决一些人或者群体特别的需求,因此相关领域的人或者群体就要去自己研制开发一些针对性极强的软件,以此来完成自己的工作[11]。用当前稳定的框架,可以提供系统的源代码,这样在遇到问题时也可以在网上找到对应的资料参考,而且在开发方面有许多资料可以给我们提供技术支持[5]。
(2)经济可行性:
通过成本/效益分析法对计算机程序进行分析,一般来讲,在进行需求分析后,对系统的开发成本进行评估;再对系统进行系统设计和分析评估出系统的节省和利益,将成本与利益相比较,当成本小于利益事,就认为该系统是可行的。除此之外,如果有其他特殊要求或原因,则认为该系统开发是不可行的。本系统的实现是为了考核学生的能力,所以不存在经济可行性的问题。
(3)操作可行性:该系统设计的各个功能十分清晰,从用户的体验角度,对各个功能进行划分,图形界面化的操作符合当前人们的操作习惯,在具备有计算机基本操作能力的人来说,该系统在操作可行性上是可行的。
综上所述,本系统的实现是可行的。
2.3.相关协议及开发工具
2.3.2 POP3协议
POP3协议的英文全称是:Post Office Protocol version3, 翻译过来就是邮局协议第3版。POP3采用的是C/S架构的通讯模型,它一般被用来接受邮件。POP3的监听默认的端口号是110。在工作过程中有三种状态,分别为认证状态,处理状态,与更新状态。状态的更新取决于其发送的请求或者是接受的响应。
POP3协议状态变更过程。当发送端用户通过SMTP协议与接受端已经成功建立连接的情况下,它的状态是认证状态。一旦用户的身份被接受端确认之后,认证状态立即回转变成处理状态。在用户的各种操作执行完毕时候,用户发送端会发出QUIT请求,立即回释放连接状态。保证不会占用过多内存资源。
POP3也是TCP/IP协议的一部分。与TCP/IP不同的是POP3只用在邮件的接受。作用非常单一,但是极为常用。这也是邮件收发的安全与稳定奠定的基础。
2.3.3 JSP技术简介
JSP技术被广泛的运用在大小型网站建设上,特别是新闻网站发布系统。之所以运用的这么广泛,是因为JSP能通过标签写在HTML中,运行在服务器之后,可以通过代码的生成HTML。JSP(Java Server Page服务器网页) 是从90年开始出现的新技术。由Sun公司首倡、许多公司参与一起创建的一种动态网页技术标准[6]。它可以在程序运行状态下按照代码逻辑的将JSP解析为html,同时html运行在浏览器上将信息展示出来。通过JSP来实现各种不同的功能,我们可以通过编写一定出具有一定逻辑代码在服务器上运行,达到我们想要的效果[12]。
2.3.4 Eclipse简介
Eclipse是一个非常优秀的java开发IDE,而且其免费开放源代码的特点深受广大开发写的喜好。Eclipse提供了一整套框架和服务,功能非常强大,编写和编译代码都非常方便,适合初学者学习和上手。新闻网站系统依赖Tomcat7和JDK1.6等环境,在eclipse中可以无缝的集成新闻网站所需的开发环境。同时eclipse还提供了安装插件的功能,比如文件管理器、版本控制器、jar包管理器等功能的插件集成。对开发人员是不可多得的好事。而且eclipse还支持开发人员自己编写自己属于自己想要实现的功能插件,这样也在促进eclipse自身功能的不断发展。eclipse还提供了丰富的开发快捷键,如Alt+/(代码提示)、Ctrl + /(注释或取消注释)、Ctrl + Shift + O(快速地导入类的路径)、Ctrl + Shift + D(在debug模式里显示变量值)等等,帮助开发人员快速的编写代码和定位开发中遇到的问题[7]。
随着Eclipse的不断发展,运用的越来越广泛,不仅支持面向对象的java编程语言开发,而且还支持COBOL、PHP、Android等编程语言的开发。这也是eclipse倍受欢迎的原因。eclipse在框架的设计上就是一种开放的思想,插件化的集成使得eclipse更加具有灵活性[13]。
2.3.5 JAVA开发语言
作为计算机编程语言的一种,JAVA开发语言经过多年的实践检验,深受系统开发人员的喜爱,在最近几年的网络编程工作中被广泛使用。因为JAVA是集中了计算机编程语言、系统开发、应用、部署环境于一体的综合性软件开发技术,且具备语言简单、健壮性、分布性、安全性、动态性、以及多线程等优点,从系统开发角度来看,可移植性好,在网络环境下对系统性能的提升具有较好的保障,方便程序员的整体开发工作[8]。
本文设计开发的电子邮件系统采用JAVA编程语言,可以在确保系统安全性的基础上,通过简单的编程,简化开发人员的工作流程。另外,通过继承机制,实现子类对父类的有效继承,从而提高代码的复用率,节约开发时间和开发成本[9]。
第3章系统设计
3.1系统模块的功能图
该系统基于SMTP协议和POP3协议来发送和接收邮件,所以该平台只是相当于一个代理邮件系统。该平台应该实现用户的登录验证,只有拥有对该邮箱有合法权限的用户才能进行登录,可以有多个用户同时对该邮箱(所代理的邮箱)进行控制[10]。而在发邮件系统中,需要用户输入要送发邮件的对方邮箱名称,可以进行邮件的发送。在收邮件系统中,邮箱将自动将所有邮件包括其基本信息显示在收件箱中。
为了更清晰直观的描述系统各功能,通过图3.1功能描述图将系统各功能展示出来。
此模块的功能图是从整个系统出发,描绘出来的。其中介绍了管理员各个功能和基本用户的功能等等。用模块的功能图描绘整个系统,使系统各个功能清晰可见,层次分明,是一种比较好的方法。