栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【Django-CI系统】Django使用SMTP邮件通知功能-20220514

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Django-CI系统】Django使用SMTP邮件通知功能-20220514

参考链接https://mp.weixin.qq.com/s/kHxVx3l4ysRqqlTqnfY5Xw

效果:员工完成合理化建议申请后,Django自动使用SMTP邮件通知对应签核人。

views.py添加邮件代码
import yagmail

receivers = ['hzhu05@lear.com','season_zhang@wistron.com']
title = "【CI合理化建议】点击签核"+str(datetime.datetime.now())
msg = "签核链接"

def send_mail(receivers=receivers, title=title, msg=msg):
    """
    发送邮件
        
    Arguments:
       msg {str} -- 邮件正文
        title {str} -- 邮件标题
        receivers {list} -- 邮件接收者,数组
    """

    yag = yagmail.SMTP(
        host='smtp.163.com', user='zhangkaicheng08@163.com',
        password='', smtp_ssl=True
        )
    print('yagmail启动')

    try:
        yag.send(receivers, title, msg)

    except BaseException as e:
        print (e)
# 员工填写提案的页面
def employee_fill_suggestion_table(request):
    """    提交员工填写的提案  """

    print(request.POST)

    # 获取POST数据
    suggestion_employee_dept = request.POST.get('suggestion_employee_dept', '')
    suggestion_employee_id = request.POST.get('suggestion_employee_id', '')
    suggestion_employee_name = request.POST.get('suggestion_employee_name', '')
    suggestion_employee_newcomer_or_not = request.POST.get('suggestion_employee_newcomer_or_not', '')
    suggestion_subject = request.POST.get('suggestion_subject','')
    suggestion_problem = request.POST.get('suggestion_problem','')
    suggestion_solution = request.POST.get('suggestion_solution','')
    suggestion_date = datetime.datetime.now()
    suggestion_CI_reviewer = request.POST.get('suggestion_CI_reviewer','')

    '''更新suggestion模型'''
    if suggestion_employee_dept and suggestion_employee_id and suggestion_employee_name and suggestion_subject and suggestion_problem and suggestion_solution and suggestion_date:
        suggestion_self = suggestion.objects.
            create(suggestion_employee_dept = suggestion_employee_dept,
                    suggestion_employee_id = suggestion_employee_id,
                    suggestion_employee_name = suggestion_employee_name,
                    suggestion_employee_newcomer_or_not = suggestion_employee_newcomer_or_not,
                    suggestion_subject = suggestion_subject,
                    suggestion_problem = suggestion_problem,
                    suggestion_solution = suggestion_solution,
                    suggestion_date = suggestion_date,
                    suggestion_CI_reviewer = suggestion_CI_reviewer,
                    suggestion_CI_review_result = '未审核',
            )

        # 增加user和EmployeeUser
        if User.objects.filter(username = suggestion_employee_id):
            print('user exist')
            u = User.objects.get(username = suggestion_employee_id)
            if EmployeeUser.objects.filter(user=u):
                pass
            # 只增加EmployeeUser
            else:
                euser = EmployeeUser.objects.create(user=u,
                                                    department=suggestion_employee_dept,
                                                    employeename=suggestion_employee_name,
                                                    employeeid=suggestion_employee_id,
                                                    role = '非审核人员')
        else:
            print('user do not exist')
            # 同时增加user和EmployeeUser
            user = User.objects.create_user(username=suggestion_employee_id,email='sample@lear.com',password=suggestion_employee_id)
            u = User.objects.get(username = suggestion_employee_id)
            euser = EmployeeUser.objects.create(user=u,
                                                department=suggestion_employee_dept,
                                                employeename=suggestion_employee_name,
                                                employeeid=suggestion_employee_id,
                                                role = '非审核人员')

        # 发送签核邮件
        send_mail()

        return HttpResponseRedirect("/")

    #上下文内容字典
    context = {}
    return render(request, 'employee_fill_suggestion_table.html',context=context)
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/883239.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号