Forums

ConnectionRefusedError: [Errno 111] Connection refused

Hi, I'm trying a simple code sending email from my web app as below:

from django.core.mail import send_mail
from django.conf import settings

settings.configure()

send_mail(
        'Subject here',
        'Here is the message.',
        'info@mydomain.com',
        ['to@gmail.com'],
        fail_silently=False
)

and in my settings.py

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'info@mydomain.com'
EMAIL_HOST_PASSWORD = 'xxxxxxxxxxx'
EMAIL_USE_TLS = True

email domain is google domain, as well email account is Gmail account. I'm using generated app password, enabled captcha for my email account also allowed less secure apps to connect.

But, I'm getting below error.

Traceback (most recent call last):
  File "calc.py", line 11, in <module>
    fail_silently=False
  File "/home/mohamed0youssef/.virtualenvs/myrede/lib/python3.7/site-packages/django/core/mail/__init__.py", line 60, in send_mail
    return mail.send()
  File "/home/mohamed0youssef/.virtualenvs/myrede/lib/python3.7/site-packages/django/core/mail/message.py", line 276, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "/home/mohamed0youssef/.virtualenvs/myrede/lib/python3.7/site-packages/django/core/mail/backends/smtp.py", line 102, in send_messages
    new_conn_created = self.open()
  File "/home/mohamed0youssef/.virtualenvs/myrede/lib/python3.7/site-packages/django/core/mail/backends/smtp.py", line 62, in open
    self.connection = self.connection_class(self.host, self.port, **connection_params)
  File "/usr/lib/python3.7/smtplib.py", line 251, in __init__
    (code, msg) = self.connect(host, port)
  File "/usr/lib/python3.7/smtplib.py", line 336, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "/usr/lib/python3.7/smtplib.py", line 307, in _get_socket
    self.source_address)
  File "/usr/lib/python3.7/socket.py", line 727, in create_connection
    raise err
  File "/usr/lib/python3.7/socket.py", line 716, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

My best guess is that for some reason your settings aren't being used when you run that script. What happens if just before you hit the line in calc.py that is failing, you print out the EMAIL_HOST, for example:

 from django.conf import settings
 print(f"EMAIL_HOST = {EMAIL_HOST}")

...?

I think your guess is right, it gave below error

NameError: name 'EMAIL_HOST' is not defined

So, is there any suggestion to solve it. clan.py should be a scrip running as task to send users a report on daily basis.

Hi, now it works with adding configuration directly in my script as below:

import django
from django.conf import settings
from django.core.mail import send_mail


settings.configure(EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend',
EMAIL_HOST = 'smtp.gmail.com',
EMAIL_PORT = 587,
EMAIL_HOST_USER = 'info@mydomain.com',
EMAIL_HOST_PASSWORD = 'xxxxxxxxxxxx',
EMAIL_USE_TLS = True)
django.setup()

I don't know if there is a better way to accomplish it.

Thanks for the hint.

What do you get when you try that?

from django.conf import settings
print(f"EMAIL_HOST = {settings.EMAIL_HOST}")

getting the exact same error pls help...

@dacsgroups -- so did you try checking what @giles and @fjl suggested above?

I am having the following error "Traceback (most recent call last): File "/home/stratifi/.virtualenvs/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/home/stratifi/.virtualenvs/venv/lib/python3.10/site-packages/django/core/handlers/base.py", line 197, in _get_response response = wrapped_callback(request, callback_args, callback_kwargs) File "/home/stratifi/.virtualenvs/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", line 56, in wrapper_view return view_func(args, kwargs) File "/home/stratifi/.virtualenvs/venv/lib/python3.10/site-packages/django/views/generic/base.py", line 104, in view return self.dispatch(request, *args, kwargs) File "/home/stratifi/.virtualenvs/venv/lib/python3.10/site-packages/rest_framework/views.py", line 509, in dispatch response = self.handle_exception(exc) File "/home/stratifi/.virtualenvs/venv/lib/python3.10/site-packages/rest_framework/views.py", line 469, in handle_exception self.raise_uncaught_exception(exc) File "/home/stratifi/.virtualenvs/venv/lib/python3.10/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception raise exc File "/home/stratifi/.virtualenvs/venv/lib/python3.10/site-packages/rest_framework/views.py", line 506, in dispatch response = handler(request, args, kwargs) File "/home/stratifi/.virtualenvs/venv/lib/python3.10/site-packages/rest_framework/generics.py", line 190, in post return self.create(request, args, kwargs) File "/home/stratifi/.virtualenvs/venv/lib/python3.10/site-packages/rest_framework/mixins.py", line 19, in create self.perform_create(serializer) File "/home/stratifi/py-backend/users/views.py", line 90, in perform_create ActivationEmail(self.request, context).send(to) File "/home/stratifi/.virtualenvs/venv/lib/python3.10/site-packages/templated_mail/mail.py", line 78, in send super(BaseEmailMessage, self).send(*args, kwargs) File "/home/stratifi/.virtualenvs/venv/lib/python3.10/site-packages/django/core/mail/message.py", line 298, in send return self.get_connection(fail_silently).send_messages([self]) File "/home/stratifi/.virtualenvs/venv/lib/python3.10/site-packages/django/core/mail/backends/smtp.py", line 127, in send_messages new_conn_created = self.open() File "/home/stratifi/.virtualenvs/venv/lib/python3.10/site-packages/django/core/mail/backends/smtp.py", line 85, in open self.connection = self.connection_class( File "/usr/local/lib/python3.10/smtplib.py", line 255, in init (code, msg) = self.connect(host, port) File "/usr/local/lib/python3.10/smtplib.py", line 341, in connect self.sock = self._get_socket(host, port, self.timeout) File "/usr/local/lib/python3.10/smtplib.py", line 312, in _get_socket return socket.create_connection((host, port), timeout, File "/usr/local/lib/python3.10/socket.py", line 845, in create_connection raise err File "/usr/local/lib/python3.10/socket.py", line 833, in create_connection sock.connect(sa) ConnectionRefusedError: [Errno 111] Connection refused" what is the solution

See https://help.pythonanywhere.com/pages/403ForbiddenError/