
基于python的邮件分类系统的设计与实现
E-mail是信息化时代最重要的联系工具之一,在日常的工作学习中具有非常重要作用。电子邮件作为互联网技术发展的产物,在给全球网民带来通讯便利的同时,正不可避免地遭遇有悖初衷的运用。垃圾邮件问题日益严重,受到研究人员的广泛关注。运用现代化信息技术手段加强电子邮件的管理,可以大大地降低管理工作量加快收集信息的速度,通过加强管理,保护电子邮件完整无缺,过滤垃圾邮件,节省办公时间。
收藏关注不迷路
前言
E-mail是信息化时代最重要的联系工具之一,在日常的工作学习中具有非常重要作用。电子邮件作为互联网技术发展的产物,在给全球网民带来通讯便利的同时,正不可避免地遭遇有悖初衷的运用。垃圾邮件问题日益严重,受到研究人员的广泛关注。 运用现代化信息技术手段加强电子邮件的管理,可以大大地降低管理工作量加快收集信息的速度,通过加强管理,保护电子邮件完整无缺,过滤垃圾邮件,节省办公时间。
论文先介绍当前邮件分类系统的现状,然后调研开发这一系统的主流技术,最终选择通过Python的Django框架开发,选择轻量级的关系型MySQL数据库存储数据。接着进行系统的需求分析、功能设计、数据库设计,最后进行编码实现。邮件分类系统主要通讯录管理、发件箱、收件箱、垃圾箱、用户管理等功能。
关键词 Email;Python;邮件分类;MYSQL
一、项目介绍
基于python的邮件分类系统的B/S模式,方便安装,减少了维护的工作量,只需要通过服务器端的更新就可以实现新系统的发布,提高了邮件分类系统的可扩展性和可移植性。邮件分类系统可以极大地去改善电子邮件系统的使用环境,为人类的生活提供便利,防止垃圾邮件损害人们的利益和网络资源,促进信息化发展。
二、开发环境
开发语言:Python
python框架:django
软件版本:python3.7/python3.8
数据库:mysql 5.7或更高版本
数据库工具:Navicat11
开发软件:PyCharm/vs code
前端框架:vue.js
————————————————
三、功能介绍
本次毕业设计主要基于python开发技术以及MySQL实现邮件分类系统的整体开发,同时结合了python编程的性能性与开发的便捷性,最大程度为用户提供完善的邮件收发与分类管理系统。本研究首先以通过文献资料查阅,了解目前一般邮件分类系统的设计要点与原型参考,制定合理的开发技术路线与功能要点。具体包括:
第一、实现邮箱的登录、注册功能。
第二、发送邮件的功能,其中包括能够发送的邮件能够添加附件,一份邮件可添加多个收信地址,完成多人发送。完成抄送和密送。
第三、通讯录功能,可添加邮箱地址保存至通讯录,可对通讯录里的邮箱地址进行昵称的设置。
第四、收信箱功能,收信箱中邮件默认按照时间排列,拥有未读提示,可检索未读邮件。可对收信箱中的邮件进行检索和删除。
第五、发信箱功能。该信箱记录已发送的邮件。可对发信箱中的邮件进行删除功能。
第六、草稿箱功能。可对当前发送内容进行编辑,保存至草稿箱,记录下未完成发送的邮件。可对草稿箱中的邮件进行删除功能。
第七、垃圾箱功能。在收信箱中删除的邮件会被添加至垃圾箱并且不会出现在收信箱,垃圾箱中可对其中的邮件进行删除,删除后将不能复原。也可以将垃圾箱中的邮件进行复原,复原的邮件将重新回到收信箱。
第八、标记箱功能。可对收信箱中的邮件进行标记,标记后的邮件将同时添加到标记箱。可对标记箱中的邮件进行删除功能。
第九、邮箱的黑名单功能。可对某一邮箱地址拉入黑名单,当收到该地址后将自动删除该地址邮件。
本邮件分类系统的基本结构如图4-1所示:
四、核心代码
部分代码:
def users_login(request):
if request.method in ["POST", "GET"]:
msg = {'code': normal_code, "msg": mes.normal_code}
req_dict = request.session.get("req_dict")
if req_dict.get('role')!=None:
del req_dict['role']
datas = users.getbyparams(users, users, req_dict)
if not datas:
msg['code'] = password_error_code
msg['msg'] = mes.password_error_code
return JsonResponse(msg)
req_dict['id'] = datas[0].get('id')
return Auth.authenticate(Auth, users, req_dict)
def users_register(request):
if request.method in ["POST", "GET"]:
msg = {'code': normal_code, "msg": mes.normal_code}
req_dict = request.session.get("req_dict")
error = users.createbyreq(users, users, req_dict)
if error != None:
msg['code'] = crud_error_code
msg['msg'] = error
return JsonResponse(msg)
def users_session(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code,"msg":mes.normal_code, "data": {}}
req_dict = {"id": request.session.get('params').get("id")}
msg['data'] = users.getbyparams(users, users, req_dict)[0]
return JsonResponse(msg)
def users_logout(request):
if request.method in ["POST", "GET"]:
msg = {
"msg": "退出成功",
"code": 0
}
return JsonResponse(msg)
def users_page(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code, "msg": mes.normal_code,
"data": {"currPage": 1, "totalPage": 1, "total": 1, "pageSize": 10, "list": []}}
req_dict = request.session.get("req_dict")
tablename = request.session.get("tablename")
try:
__hasMessage__ = users.__hasMessage__
except:
__hasMessage__ = None
if __hasMessage__ and __hasMessage__ != "否":
if tablename != "users":
req_dict["userid"] = request.session.get("params").get("id")
if tablename == "users":
msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
msg['data']['pageSize'] = users.page(users, users, req_dict)
else:
msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
msg['data']['pageSize'] = [],1,0,0,10
return JsonResponse(msg)
五、效果图
六、文章目录
目 录
摘要 I
Abstract II
1 绪 论 1
1.1项目背景 1
1.2课题研究目的和意义 1
1.3 论文结构 2
1.4 本章小节 2
2 开发技术与工具介绍 3
2.1 系统开发环境 3
2.2 Python技术 3
2.3 MySQL数据库 4
2.4 本章小节 5
3 系统需求分析 6
3.1 可行性分析 6
3.1.1 经济可行性 6
3.1.2 技术可行性 6
3.1.3 法律可行性 6
3.1.4 社会可行性 6
3.2 非功能性需求分析 7
3.3 功能需求分析 8
3.3.1 邮件管理需求 8
3.3.2 用户管理需求分析 9
3.4本章小节 11
4 系统设计 12
4.1 总体设计 12
4.2 系统设计目标 13
4.3 系统详细设计 14
4.3.1 功能模块设计 14
4.3.2 邮件管理流程设计 15
4.3.3 用户管理流程设计 16
4.4 E-R图 16
4.5 数据库设计 17
4.6本章小节 23
5 系统实现 24
5.1 登陆模块的实现 24
5.2 通讯录管理的实现 25
5.3 发件箱管理的实现 26
5.4 收件箱管理的实现 27
5.5 用户管理的实现 28
5.6 个人信息维护的实现 29
5.7本章小节 30
6 系统测试 31
6.1 测试说明 31
6.2 测试环境 32
6.3 测试实例 32
6.4 测试结论 34
6.5本章小节 34
总 结 35
参考文献 36
致 谢 37
更多推荐
所有评论(0)