修复找回密码发送邮件异常的问题

This commit is contained in:
zmister 2021-07-06 15:55:20 +08:00
parent 57d7217dc6
commit f2959fc54b
4 changed files with 18 additions and 11 deletions

View File

@ -3,8 +3,10 @@
### v0.6.9 2021-07
- [新增]后台管理中心的图片管理和附件管理功能;
- [修复]vditor编辑器粘贴多图片文本时图片只有一张图的问题
- [修复]vditor编辑器粘贴多图片文本时图片只有一张图的问题;
- [修复]找回密码邮件发送失败的问题;
- [优化]个人中心我协作的文集页面及功能;
- [优化]后台邮件服务器配置逻辑和页面展示;
### v0.6.8 2021-06-27

View File

@ -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()

View File

@ -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':

View File

@ -217,7 +217,7 @@
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">SMTP 密码</label>
<div class="layui-input-block">
<input type="password" name="smtp_pwd" class="layui-input" required value="{{email_pwd.value}}">
<input type="password" name="smtp_pwd" class="layui-input" required value="{{email_dec_pwd}}">
</div>
</div>