Errno 111 В соединении отказано с очень простым сбросом пароля

Новичок в django здесь, в настоящее время пытаюсь реализовать восстановление пароля с помощью функции admin password_reset, но получаю сообщение об ошибке. Из того, что я читал о других людях с похожими проблемами, это какая-то проблема с портом/сокетом, но я не совсем уверен, как это изменить или исправить. Я должен упомянуть, что я запускаю это через виртуальную Ubuntu, не уверен, что это имеет к этому какое-то отношение.

Environment:

Request Method: POST
Request URL: http://127.0.0.1:8000/admin/password_reset/
Django Version: 1.1.4
Python Version: 2.6.6
Installed Applications:
['django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'homework.events',
 'django.contrib.admin']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware')


Traceback:
File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py" in   get_response
  99.                     response = callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python2.6/dist-packages/django/contrib/auth/views.py" in password_reset
  116.             form.save(**opts)
    File "/usr/local/lib/python2.6/dist-packages/django/contrib/auth/forms.py" in save
  136.                 t.render(Context(c)), None, [user.email])
    File "/usr/local/lib/python2.6/dist-packages/django/core/mail.py" in send_mail
  407.                         connection=connection).send()
    File "/usr/local/lib/python2.6/dist-packages/django/core/mail.py" in send
  281.         return self.get_connection(fail_silently).send_messages([self])
    File "/usr/local/lib/python2.6/dist-packages/django/core/mail.py" in send_messages
  179.         new_conn_created = self.open()
    File "/usr/local/lib/python2.6/dist-packages/django/core/mail.py" in open
  144.                                            local_hostname=DNS_NAME.get_fqdn())
    File "/usr/lib/python2.6/smtplib.py" in __init__
  239.             (code, msg) = self.connect(host, port)
    File "/usr/lib/python2.6/smtplib.py" in connect
  295.         self.sock = self._get_socket(host, port, self.timeout)
    File "/usr/lib/python2.6/smtplib.py" in _get_socket
  273.         return socket.create_connection((port, host), timeout)
    File "/usr/lib/python2.6/socket.py" in create_connection
  561.     raise error, msg

Exception Type: error at /admin/password_reset/
Exception Value: [Errno 111] Connection refused

Я знаю, что мне нужно (возможно) что-то изменить с портами, просто не знаю, как это сделать, чтобы исправить ошибку. Также приношу свои извинения за плохое редактирование кода. Заранее спасибо.


person zoombini    schedule 10.05.2011    source источник


Ответы (5)


Функция сброса пароля пытается отправить электронное письмо.
Вы получаете эту ошибку, потому что она пыталась подключиться к серверу электронной почты, но соединение было отклонено.

person John Mee    schedule 10.05.2011

Функция password_reset требует, чтобы smtp-сервер отправил электронное письмо для сброса. Вы можете либо настроить smtp-сервер для отправки почты, либо выбрать другую функцию, которая не требует заполнения электронной почты, например, функцию set_password.

person stanzgy    schedule 10.05.2011

взгляните на серверы электронной почты, чтобы проверить свою электронную почту в режиме разработки. Вы можете распечатать его на консоль или в файл. В качестве альтернативы вам придется настроить smtp-сервер для отправки исходящей почты.

person Gevious    schedule 10.05.2011

Я столкнулся с той же проблемой. Потому что я забыл добавить строку EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' в settings.py

person Sandipthakur    schedule 09.06.2020

Отправка электронной почты Проверьте сброс пароля. Удалите или прокомментируйте БЭКЭНД ЭЛЕКТРОННОЙ ПОЧТЫ. Добавьте и заполните детали. Это сработает.

# EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD ='xxxxx'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
person grey    schedule 20.03.2021