Errno 111 Connection refused with a very basic password reset
Asked Answered
R

6

10

Novice to django here, currently trying to implement a password recovery using the admin password_reset function but I'm getting an error. From what I've read about other people with similar problems its some kind of port/socket issue, but I'm not quite sure how to go about changing or fixing it. I should mention that I'm running this through a virtual ubuntu, not sure if that has anything to do with it.

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

I know I have to (probably) change something with the ports, just not sure how to do so to fix the error. Also, I apologise for the poor editing of the code. Thanks in advance.

Ramie answered 10/5, 2011 at 0:27 Comment(1)
Related question: #5802689Selie
L
10

The password reset function attempts to send an email.
You get this error because it tried to connect to an email server, but the connection was refused.

Lustihood answered 10/5, 2011 at 0:54 Comment(0)
T
4

The password_reset function requires an smtp server to send the reset email. You can either setup an smtp server to send the mail or choose other function that don't need seeding email like set_password function.

Tonedeaf answered 10/5, 2011 at 5:17 Comment(0)
Y
2

have a look at Email backends to test your email in dev mode. You can print it to the console or a file. Alternatively you'll have to set up a smtp server for the outgoing mails to be sent.

Yila answered 10/5, 2011 at 8:30 Comment(1)
The link doesn't work for me.Finsteraarhorn
G
0
EMAIL_BACKEND - 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST - 'smtp.gmail.com'
EMAIL_PORT - 587
EMAIL_USE_TLS - True
EMAIL_HOST_USER - "[email protected]"
EMAIL_HOST_PASSWORD - "get it from gmail app password bt setting 2 step authentication"

use = for - while using this code in settings.py
Goodsell answered 13/8, 2019 at 14:1 Comment(0)
F
0

I was facing the same problem. Because I forgot to add EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' line to settings.py

First answered 9/6, 2020 at 17:29 Comment(0)
E
0

Sending Email Check for password reset.Remove or comment the EMAIL BACKEND. Add and Fill the details.it will work.

# 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
Exuviate answered 20/3, 2021 at 2:50 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.