项目编号:BS-XX-165
一,项目简介
随着互联网技术的不断发展,我们已经步入了互联网时代。网络技术的日渐成熟,现在的互联网已经和我们生活紧密的联系。网购的出现使人们可以足不出户就可以跟朋友跟同事和合作伙伴进行联络加快节奏的工作与生活,让人们不仅仅最求物质上的自由更加追求精神上的满足感与幸福感。
反垃圾邮件系统是一个个人性质邮件系统,它为用户之间搭建了一个桥梁,你可以登录/注册后可以进行收发邮件加通讯录等功能操作,并且还支持网页国际化,也就是多国语言来回切换。而管理员可以通过管理员账号进入该系统,并且通过管理员才有的用户管理界面对账号赋予、移除管理员权限。并且该系统还支持附件的传输下载。
反垃圾邮件系统本着设计功能丰富,易于操作,界面友好为开发原则,管理员需要能方便、快捷的获取用户信息。系统需要具备较好的可观性,系统能有效的拦截垃圾邮件 [4]。
依据以上总体目标,对该系统提出以下需求。
(1)系统需要简洁明了的界面效果,能够快速清晰地了解整个系统所具备的功能。
(2)系统操作界面需要简单明了,不需要特别的技术能力,用户只要平时用过电脑,均可进入系统,无需对操作系统的人员进行培训。
(3)后台数据需要能够十分清晰,并进行数据管理和系统管理。
(4)为了更好展示系统的邮件信息状况,功能查询界面需要合理的提供分页功能。
3.1.2 功能需求
本系统是反垃圾邮件分析需求而设计开发的一个前后台一体的系统。主要内容包括:首页、登录、邮件中心、联系人、用户管理、敏感字词管理、自动回复 [5]。
(1)首页:首页为前端界面,概括了所有可视化图形界面,用于展示用户的头像用户名和窗口栏等等。
(2)登录:该登录是进入后台的唯一入口,管理员需要输入正确的用户名与密码才能进入后台管理系统。
(3)邮件中心:邮件中心是该用户所有的邮件相关模块,包括已发送、收件箱、垃圾箱、草稿箱、写信、已删除等,
(4)联系人:联系人是该用户所有的联系人相关模块,包括好友列表、添加好友、同意和拒绝好友申请、黑名单、白名单等,
(5)用户管理:系统管理功能模块包括用户权限修改、用户编辑。其中,用户权限修改功能是用于修改用户成为系统的管理员权限;用户编辑功能是用于修改系统用户的账号信息。
(6)敏感字词管理:敏感字词管理功能模块包括敏感字词修改、新增敏感字词、其中,敏感字词修改功能是用于修改敏感字词的内容;
(7)自动回复:自动回复是别的用户给用户发送邮件,用户可以设置自定义的内容自动回复给发件人
反垃圾邮件系统主要实现了前台(登录、注册、首页、写信、邮件中心(已发送、草稿箱、收件箱、垃圾箱已删除)、联系人相关(通讯录、黑名单、白名单)和后台(客户管理、敏感字词管理)。
反垃圾邮件系统前台功能主要分为以下几个内容:
1、注册
客户通过账号密码注册进入反垃圾邮件系统
注册合法性判断过程:用户注册时通过正则表达式验证,以及注册不能重复账号。
2、写信
用户通过输入收件人邮箱、标题、正文和附件等内容给其他用户写邮件或者存入草稿箱
合格性判断过程: 通过查询收件人信息,看是否有这个用户,附件大小类型是否合格
3、已发送邮件
根据用户的id查询邮件,并且该邮件不是垃圾箱等状态,可以对该邮件进行查看、删除和转发。
对邮件按时间进行倒序,列表分页展示
4、草稿箱
根据用户的id查询垃圾箱邮件,并且可以对该邮件进行继续编辑、删除和发送。
对邮件按时间进行倒序,列表分页展示
5、收件箱
根据用户的id查询收件箱箱邮件,并且可以对该邮件进行继续编辑、删除和发送。
对邮件按时间进行倒序,列表分页展示
合法性:是否存在敏感字词,发件人是否是黑名单,是否通过朴素贝叶斯算法
6、垃圾箱
根据用户的id查询敏感字词和黑名单拦截的垃圾箱邮件,并且可以对该邮件进行查看和删除
对邮件按时间进行倒序,列表分页展示
7、已删除
根据用户的id查询那些收件箱发件邮箱删除的邮件,并且可以对该邮件进行查看和彻底删除
对邮件按时间进行倒序,列表分页展示
8、通讯录
好友之间的桥梁,可以通过搜索好友邮箱号查找用户申请好友,通过好友申请,对好友进行备注、拉入黑名单、拉入白名单以及删除好友
9、黑名单
好友之间的小船翻了,设置了黑名单之后该用户给你发的邮件全收纳进了垃圾箱,但可以对用户取消黑名单、以及删除好友
10、 白名单
这是我的信任好友,设置了白名单之后该用户给你发的邮件就算有敏感字词和朴素贝叶斯过滤的词也全都正常接收到收件箱,但可以对用户取消白名单、以及删除好友
11、 自动回复
当用户在忙的时候往往不能第一时间回复好友的邮件,这时候也不能让好友等的太着急。就可以用我们自定义的自动回复来给好友发邮件
12、后台功能设计
反垃圾邮件系统后台功能主要分为用户管理和敏感字词管理:
13、用户管理
用户管理主要对反垃圾邮件系统所有用户的信息以等进行编辑,删除,以及对用户的权限进行修改,当设为管理员时就将该用户的字段中的roles加一个root,在前端vue的路由里面进行权限判断,数组里只有editor就是普通用户没有后台界面,里面有root的时候就是管理员,反垃圾邮件系统里面就有后台界面
14、敏感字词管理
敏感字词管理是对管理员对邮件系统进行反垃圾拦截的时候设置的敏感字词,可以对敏感字词进行增加,修改,删除等操作,当接收邮件的时候标题或者正文里边包含这些敏感字词其中之一时就纳入到垃圾箱
二,环境介绍
语言环境:Java: jdk1.8
数据库:Mysql: mysql5.7
应用服务器:Tomcat: tomcat8.5.31
开发工具:IDEA或eclipse
后台开发技术:Springboot+Mybatis
前台开发技术:Vue+ElementUI+Nodejs
前后端分离开发模
三,系统展示
本次反垃圾邮件系统的实现基于B/S结构模式,http超文本传输协议,文件和图片用Nginx反向代理上传和下载, MySQL数据库引擎采用默认的innodb,接口规范采用Restful API风格。
该系统实现为前台(注册登录、首页、写信、收件箱、垃圾箱、通讯录等等),后台(用户管理、敏感字词管理)
6.1 前台系统
前台主要是用户使用的,跟朋友之间进行通信,加好友,黑名单。还有拦截垃圾邮箱等功能。主要分为以下几个内容:
6.1.1 登录注册页面
该页面通过用户输入账号密码进行注册之后,发送请求调用后端接口完成注册,MySQL给账号设置了唯一的索引,如果再注册这个账号。后端就会报错,在用java的异常机制处理这个异常返回一个该账号以存在的msg给前端,前端在展示到页面上,注册成功之后跳转到登录页面。登录即可。如下图6.1所示:
表6-1 注册页面
6.1.2 首页页面
该页面通过用户输入正确的账号密码登录进来之后,映入眼帘的是一个我们邮件系统的动态logo,左侧是系统的主要功能,右上角则是用户的头像以及用户名,还支持网站国际化。如下图6.2所示:
表6-2 前台首页
表6-2 前台首页
6.1.3 写信页面
该页面通过前台首页的写信入口进入,集成了富文本编辑器插件。支持html标签、图片以及附件的上传等等,还能直接加入草稿箱、如下图6.3所示:
表6-3 写信页面
6.1.4 收件箱页面
该页面通过首页进入,发送请求,后台接收到该用户的ID,调用该接口方法返回该用户的所有收件箱的邮件,用户可以对邮件进行删除查看转发作 如下图6.4:
表6-4 收件箱页面
6.1.5 垃圾箱页面
该页面通过首页进入,发送请求,后台接收到该用户的ID,调用该接口方法返回该用户拦截的敏感字词和黑名单的垃圾邮件。用户可以进行查看删除等操作 如下图所示:
表6-5 垃圾箱页面
6.1.6通讯录页面
该页面通过首页进入,发送请求,后台接收到该用户的ID,调用该接口方法返回该用户所有的好友列表和所有好友申请。该页面可以对好友进行拉入黑名单、拉入白名单、备注以及删除好友等操作 如下图所示:
表6-6 联系人页面
6.2 后台系统
后台主要是管理员使用的,主要模块有用户管理以及敏感字词管理
6.2.1 用户管理页面
该页面只有拥有管理员权限的用户才能显示,用到了vue里面路由权限的技术点,里面展现了所有用户的信息,该页面也可以对用户赋予管理员权限和取消管理员权限如下图6.8所示:
表6-8 用户管理页面
6.2.2 敏感字词管理页面
该页面只有拥有管理员权限的用户才能显示,是拦截垃圾邮件的关键来源、这里可以对敏感字词进行增加、删除、修改以及设置敏感字词状态等操作 如下图6.9所示:
表6-9 敏感字管理页面
反垃圾邮件系统|基于Springboot+vue 实现反垃圾邮件系统(二)https://developer.aliyun.com/article/1423309