[Fixed]-No connection could be made because the target machine actively refused it (Django)

31πŸ‘

βœ…

I managed to find out what the problem was (no thanks to the error message). As it turns out, I needed to set up my e-mail server:

Note that in order to send e-mail using send_mail(), your server must be configured to send mail, and Django must be told about your outbound e-mail server. See http://docs.djangoproject.com/en/dev/topics/email/ for the specifics.

I guess I thought little of what was meant by it, but I was pointed in the direction of this guide, and things eventually started to click.

Thanks to everyone for chiming in with their advice. That is one useless error message, and I can only assume the people who helped me out only knew the answer because they had experienced the exact same thing.

πŸ‘€Kiwi

12πŸ‘

I got this error attempting to use django.core.mail.send_mail. I only need this for running through some tutorials. I don’t need it to actually send mail.

The solution for me was to add this single variable to settings.py:

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

It sends the content of the email to console output, which is perfect given what I’m doing.

Docs: https://docs.djangoproject.com/en/1.7/topics/email/#django.core.mail.backends.smtp.EmailBackend

πŸ‘€aliteralmind

2πŸ‘

10061 isn’t the port number, that’s the error number. You want to open port 8000.

See this answer for someone who was having the same problem because they were using the wrong port: No connection could be made because the target machine actively refused it

2πŸ‘

In settings.py, For console output, you need

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

For smtp

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

Also refer this doc here
https://docs.djangoproject.com/en/1.6/topics/email/

πŸ‘€user966588

0πŸ‘

The code tries to connect to http://127.0.0.1:8000/contact/ – the port 8000 is not reachable (firewall) or there is no server running.

πŸ‘€Yahia

0πŸ‘

I’ve never used DJango myself but judging by the error, there is no server listening at port 8000 (or some firewall/server restriction is blocking port 8000 on localhost)

πŸ‘€Maverik

0πŸ‘

If you are using gmail, you have to unlock Captcha to enable
Django to send it for you.https://accounts.google.com/displayunlockcaptcha

I could solve my issue of this type by unlocking Captcha for the gmail account I used in the app.You can go to this link in other to unlock Captcha.

I hope this’s gonn’be useful πŸ™‚

πŸ‘€Fahtima

0πŸ‘

This is probably a noob mistake but I hit this error because I was trying to call as_view() on a Function-Based View.

Error case:

urlpatterns = [
  path('scratch/echo/', views.scratch_echo.as_view()),
]

Working case:

urlpatterns = [
  path('scratch/echo/', views.scratch_echo),
]

I think I just copy-pasted the setup for a Class-Based View from a different tutorial and my server stopped running.

Leave a comment