小陈步吃人 2022-03-18 11:25 采纳率: 75%
浏览 15
已结题

Django 邮件改密码提示无法链接,如何解决?

Django学习按照书中内容,老是提示[WinError 10061] 由于目标计算机积极拒绝,无法连接。

这是找回密码的相关代码

#找回密码
def findPassword(request):

    button = '获取验证码'
    new_password = False
    if request.method == 'POST':
        username = request.POST.get('username', 'root')
        VerificationCode = request.POST.get('VerificationCode', '')
        password = request.POST.get('password', '')
        user = User.objects.filter(username=username)
        # 用户不存在
        if not user:
            tips = '用户' + username + '不存在'
        else:
            #判断验证码是否已发送
            if not request.session.get('VerificationCode', ''):
                # 发送验证码并将验证码写入session
                button = '重置密码'
                tips = '验证码已发送'
                new_password = True
                VerificationCode = str(random.randint(1000, 9999))
                request.session['VerificationCode'] = VerificationCode
                user[0].email_user('找回密码', VerificationCode)
            # 匹配输入的验证码是否正确
            elif VerificationCode == request.session.get('VerificationCode'):

                # 密码加密处理并保存到数据库
                dj_ps = make_password(password, None, 'pbkdf2_sha256')
                user[0].password = dj_ps
                user[0].save()
                del request.session['VerificationCode']
                tips = '密码已重置'
            # 输入验证码错误
            else:
                tips = '验证码错误,请重新获取'
                new_password = False
                del request.session['VerificationCode']
    return render(request, 'findPassword.html', locals())

报错信息如下:

Internal Server Error: /user/findPassword.html
Traceback (most recent call last):
  File "D:\Anaconda\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
    response = get_response(request)
  File "D:\Anaconda\lib\site-packages\django\core\handlers\base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Users\admin\Desktop\python\MyDjango\user\views.py", line 100, in findPassword
    user[0].email_user('找回密码', VerificationCode)
  File "D:\Anaconda\lib\site-packages\django\contrib\auth\models.py", line 386, in email_user
    send_mail(subject, message, from_email, [self.email], **kwargs)
  File "D:\Anaconda\lib\site-packages\django\core\mail\__init__.py", line 61, in send_mail
    return mail.send()
  File "D:\Anaconda\lib\site-packages\django\core\mail\message.py", line 284, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "D:\Anaconda\lib\site-packages\django\core\mail\backends\smtp.py", line 102, in send_messages
    new_conn_created = self.open()
  File "D:\Anaconda\lib\site-packages\django\core\mail\backends\smtp.py", line 62, in open
    self.connection = self.connection_class(self.host, self.port, **connection_params)
  File "D:\Anaconda\lib\smtplib.py", line 1031, in __init__
    source_address)
  File "D:\Anaconda\lib\smtplib.py", line 251, in __init__
    (code, msg) = self.connect(host, port)
  File "D:\Anaconda\lib\smtplib.py", line 336, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "D:\Anaconda\lib\smtplib.py", line 1037, in _get_socket
    self.source_address)
  File "D:\Anaconda\lib\socket.py", line 728, in create_connection
    raise err
  File "D:\Anaconda\lib\socket.py", line 716, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
[18/Mar/2022 11:18:53] "POST /user/findPassword.html HTTP/1.1" 500 117286


我应该怎么调整呢?

  • 写回答

2条回答 默认 最新

  • ~白+黑 Python领域新星创作者 2022-03-18 16:50
    关注

    settings里配置邮件参数了嘛

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月5日
  • 已采纳回答 7月28日
  • 创建了问题 3月18日

悬赏问题

  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表