diff --git a/CHANGES.md b/CHANGES.md index 416ac7e..feb5723 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,8 +3,10 @@ ### v0.6.9 2021-07 - [新增]后台管理中心的图片管理和附件管理功能; -- [修复]vditor编辑器粘贴多图片文本时图片只有一张图的问题 +- [修复]vditor编辑器粘贴多图片文本时图片只有一张图的问题; +- [修复]找回密码邮件发送失败的问题; - [优化]个人中心我协作的文集页面及功能; +- [优化]后台邮件服务器配置逻辑和页面展示; ### v0.6.8 2021-06-27 diff --git a/app_admin/utils.py b/app_admin/utils.py index abb91bb..42c5099 100644 --- a/app_admin/utils.py +++ b/app_admin/utils.py @@ -8,6 +8,7 @@ from django.utils.translation import gettext_lazy as _ from django.conf import settings from email.mime.text import MIMEText from app_admin.models import SysSetting +from loguru import logger import random import smtplib @@ -33,23 +34,26 @@ def send_email(to_email,vcode_str): msg_from = send_emailer # 发件人邮箱 passwd = dectry(pwd) # 发件人邮箱密码 msg_to = to_email # 收件人邮箱 - if ssl: - s = smtplib.SMTP_SSL(smtp_host, int(smtp_port)) # 发件箱邮件服务器及端口号 - else: - s = smtplib.SMTP(smtp_host, int(smtp_port)) - subject = _("MrDoc - 重置密码验证码") - content = _("你的验证码为:{},验证码30分钟内有效!".format(vcode_str)) - + subject = "MrDoc - 重置密码验证码" + content = "你的验证码为:{},验证码30分钟内有效!".format(vcode_str) msg = MIMEText(content, _subtype='html', _charset='utf-8') msg['Subject'] = subject msg['From'] = 'MrDoc助手[{}]'.format(msg_from) msg['To'] = msg_to try: + # print(smtp_host,smtp_port) + if ssl: + s = smtplib.SMTP_SSL(smtp_host, int(smtp_port)) # 发件箱邮件服务器及端口号 + else: + s = smtplib.SMTP(smtp_host, int(smtp_port)) s.login(username, passwd) - s.sendmail(msg_from, msg_to, msg.as_string()) + s.sendmail(from_addr=msg_from, to_addrs=msg_to, msg=msg.as_string()) return True except smtplib.SMTPException as e: - # print(repr(e)) + logger.error("邮件发送异常:{}".format(repr(e))) + return False + except Exception as e: + logger.error("邮件发送异常:{}".format(repr(e))) return False finally: s.quit() diff --git a/app_admin/views.py b/app_admin/views.py index d708f02..89145fd 100644 --- a/app_admin/views.py +++ b/app_admin/views.py @@ -958,6 +958,7 @@ def admin_setting(request): email_username = email_settings.get(name="username") email_ssl = email_settings.get(name="smtp_ssl") email_pwd = email_settings.get(name="pwd") + email_dec_pwd = dectry(email_settings.get(name="pwd").value) if request.method == 'GET': return render(request,'app_admin/admin_setting.html',locals()) elif request.method == 'POST': diff --git a/template/app_admin/admin_setting.html b/template/app_admin/admin_setting.html index 3fc210d..43553d8 100644 --- a/template/app_admin/admin_setting.html +++ b/template/app_admin/admin_setting.html @@ -217,7 +217,7 @@