python毕业设计基于django的邮件收发系统 开题报告

本文档介绍了一个使用Python Django框架和MySQL数据库开发的邮件分类系统,旨在提高工作效率,实现邮件的在线收发与分类管理。系统包括登录注册、通讯录、收发件箱、垃圾箱等功能,并探讨了其开发技术、需求分析和系统设计。
摘要由CSDN通过智能技术生成

文末获取资源,收藏关注不迷路

一、项目介绍

E-mail是信息化时代最重要的联系工具之一,在日常的工作学习中具有非常重要作用。电子邮件作为互联网技术发展的产物,在给全球网民带来通讯便利的同时,正不可避免地遭遇有悖初衷的运用。垃圾邮件问题日益严重,受到研究人员的广泛关注。 运用现代化信息技术手段加强电子邮件的管理,可以大大地降低管理工作量加快收集信息的速度,通过加强管理,保护电子邮件完整无缺,过滤垃圾邮件,节省办公时间。
论文先介绍当前邮件分类系统的现状,然后调研开发这一系统的主流技术,最终选择通过Python的Django框架开发,选择轻量级的关系型MySQL数据库存储数据。接着进行系统的需求分析、功能设计、数据库设计,最后进行编码实现。邮件分类系统主要通讯录管理、发件箱、收件箱、垃圾箱、用户管理等功能。

本次毕业设计主要基于python开发技术以及MySQL实现邮件分类系统的整体开发,同时结合了python编程的性能性与开发的便捷性,最大程度为用户提供完善的邮件收发与分类管理系统。本研究首先以通过文献资料查阅,了解目前一般邮件分类系统的设计要点与原型参考,制定合理的开发技术路线与功能要点。
通过走访相关人员,对邮件分类系统进行调查,分析实际工作情况,整理系统需要实现的需求。邮件分类系统包括两类用户,管理员和会员。功能包括会员注册与登录模块、个人中心模块、发送邮件的功能、通讯录功能、收信箱功能、发信箱功能、草稿箱功能、垃圾箱功能、标记箱功能、邮箱的黑名单功能。最终完成基于python的邮件分类系统中前台界面和后台逻辑处理的设计与实现。

项目背景

近年来,计算机技术的高速发展带动了许多行业的进步,通过科技手段可以帮助人们改善工作流程,提高工作效率。在管理系统模块中,最重要的莫过于数据库,可以将管理系统的各项数据通过数据库进行存储,然后方便统计分析。通过关键字快速的查询信息,提高了办公效率,节省了人力物力。在传统的工作中只有通过人工处理,往往会造成许多的遗漏,也不能进行快速的查询统计,影响了工作的开展。
在电子邮件管理方面,也需要管理系统进行系统化管理,帮助电子邮件进行分类整理,方便用户快速的找到电子邮件。在目前信息技术非常成熟的基础上,开发邮件分类系统,实现邮件信息整理,帮助个人或者企业完成邮件分类管理,可以有效的提高工作效率。
传统的邮件分类管理模式不再适用于当前信息化时代的发展,一个好的管理流程是必不可少的,尽早的将邮件分类系统开发提上日程,通过系统的建设提高工作效率,尽最大可能的完成邮件内容分类,节省时间。

课题研究目的和意义

目前也存在一些个人使用的邮件分类管理系统的情况,但是大多使用的是单机版本进行管理,客户使用这种模式比较复杂,不能通过网站的形式进行操作,所以只有开发基于python的邮件分类系统,才更能满足当前客户的要求。通过浏览器即可访问系统,在线查询信息、进行邮件分类整理的操作,提高了服务效率。
对于邮件客户来说,通过注册获取个人的账号信息,然后所有的操作都可以记录,系统提供的邮件分类模块可以为用户提供快速的邮件查找服务。
基于python的邮件分类系统的B/S模式,方便安装,减少了维护的工作量,只需要通过服务器端的更新就可以实现新系统的发布,提高了邮件分类系统的可扩展性和可移植性。邮件分类系统可以极大地去改善电子邮件系统的使用环境,为人类的生活提供便利,防止垃圾邮件损害人们的利益和网络资源,促进信息化发展。

二、主要使用技术

环境需要
1.运行环境:python3.7/python3.8。
2.IDE环境:pycharm+mysql5.7;
3.数据库工具:Navicat11
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
技术栈
后端:python+django
前端:vue+CSS+JavaScript+jQuery+elementui

使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
使用PyCharm 导入项目,修改配置,运行项目;
将项目中config.ini配置文件中的数据库配置改为自己的配置,然后运行;
运行成功后,在浏览器中输入:http://localhost:8080/项目名

三、研究内容

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
本次毕业设计主要基于python开发技术以及MySQL实现邮件分类系统的整体开发,同时结合了python编程的性能性与开发的便捷性,最大程度为用户提供完善的邮件收发与分类管理系统。本研究首先以通过文献资料查阅,了解目前一般邮件分类系统的设计要点与原型参考,制定合理的开发技术路线与功能要点。具体包括:
第一、实现邮箱的登录、注册功能。
第二、发送邮件的功能,其中包括能够发送的邮件能够添加附件,一份邮件可添加多个收信地址,完成多人发送。完成抄送和密送。
第三、通讯录功能,可添加邮箱地址保存至通讯录,可对通讯录里的邮箱地址进行昵称的设置。
第四、收信箱功能,收信箱中邮件默认按照时间排列,拥有未读提示,可检索未读邮件。可对收信箱中的邮件进行检索和删除。
第五、发信箱功能。该信箱记录已发送的邮件。可对发信箱中的邮件进行删除功能。
第六、草稿箱功能。可对当前发送内容进行编辑,保存至草稿箱,记录下未完成发送的邮件。可对草稿箱中的邮件进行删除功能。
第七、垃圾箱功能。在收信箱中删除的邮件会被添加至垃圾箱并且不会出现在收信箱,垃圾箱中可对其中的邮件进行删除,删除后将不能复原。也可以将垃圾箱中的邮件进行复原,复原的邮件将重新回到收信箱。
第八、标记箱功能。可对收信箱中的邮件进行标记,标记后的邮件将同时添加到标记箱。可对标记箱中的邮件进行删除功能。
第九、邮箱的黑名单功能。可对某一邮箱地址拉入黑名单,当收到该地址后将自动删除该地址邮件。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、核心代码

# coding:utf-8
__author__ = "ila"

from django.http import JsonResponse

from .users_model import users
from util.codes import *
from util.auth import Auth
import util.message as mes


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)


def users_info(request, id_):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}

        data = users.getbyid(users, users, int(id_))
        if len(data) > 0:
            msg['data'] = data[0]
        # 浏览点击次数
        try:
            __browseClick__ = users.__browseClick__
        except:
            __browseClick__ = None

        if __browseClick__ and "clicknum" in users.getallcolumn(users, users):
            click_dict = {"id": int(id_), "clicknum": str(int(data[0].get("clicknum", 0)) + 1)}
            ret = users.updatebyparams(users, users, click_dict)
            if ret != None:
                msg['code'] = crud_error_code
                msg['msg'] = ret
        return JsonResponse(msg)


def users_save(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
        req_dict = request.session.get("req_dict")
        req_dict['role'] = '管理员'
        error = users.createbyreq(users, users, req_dict)
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)


def users_update(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
        req_dict = request.session.get("req_dict")
        if req_dict.get("mima") and req_dict.get("password"):
            if "mima" not in users.getallcolumn(users,users):
                del req_dict["mima"]
            if "password" not in users.getallcolumn(users,users):
                del req_dict["password"]
        try:
            del req_dict["clicknum"]
        except:
            pass
        error = users.updatebyparams(users, users, req_dict)
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)


def users_delete(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
        req_dict = request.session.get("req_dict")

        error = users.deletes(users,
            users,
            req_dict.get("ids")
        )
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值