Как исправить ошибку отправки электронной почты в Django

Я получаю ошибку при попытке отправить электронное письмо через Django, которую мне нужно решить. Я получаю эту ошибку с этим settings.py: "getaddrinfo failed"

if DEBUG:
    EMAIL_HOST = 'stmp.gmail.com'
    EMAIL_PORT = 587
    EMAIL_USE_TLS = True
    EMAIL_HOST_USER = 'jamelaumn@gmail.com'
    EMAIL_HOST_PASSWORD = xxxxx  # important
else:
    EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

и я получаю эту ошибку с этим set.py ConnectionRefusedError at /django-store-account/register/. Мне нужно найти способ исправить отправку электронной почты в Django для проверки учетных записей

if DEBUG:
    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
    EMAIL_PORT = 587
    EMAIL_USE_TLS = True
    EMAIL_HOST_USER = 'jamelaumn@gmail.com'
    EMAIL_HOST_PASSWORD = xxx  # important
else:
    EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

my urls.py:

path('register/', views.account_register, name='register'),

views.py:

def account_register(request):

    if request.user.is_authenticated:
        return redirect('account:dashboard')

    if request.method == 'POST':
        registerForm = RegistrationForm(request.POST)
        if registerForm.is_valid():
            user = registerForm.save(commit=False)
            user.email = registerForm.cleaned_data['email']
            user.set_password(registerForm.cleaned_data['password'])
            user.is_active = False
            email_to = user.email
            user.save()
            email_subject = 'Ative sua conta'
            current_site = get_current_site(request)
            message = render_to_string('account/registration/account_activation_email.html', {
                'user': user,
                'domain': current_site.domain,
                'uid': urlsafe_base64_encode(force_bytes(user.pk)),
                'token': account_activation_token.make_token(user),
            })

            email_body = message

            email = EmailMessage(
                email_subject,
                email_body,
                settings.EMAIL_HOST_USER, [email_to])
            email.send()
            return HttpResponse('registered succesfully and activation sent')
    else:
        registerForm = RegistrationForm()
    return render(request, 'account/registration/register.html', {'form': registerForm})


def account_activate(request, uidb64, token):
    try:
        uid = urlsafe_base64_decode(uidb64)
        user = UserBase.objects.get(pk=uid)
    except(TypeError, ValueError, OverflowError, user.DoesNotExist):
        user = None
    if user is not None and account_activation_token.check_token(user, token):
        user.is_active = True
        user.save()
        login(request, user)
        return redirect('account:dashboard')
    else:
        return render(request, 'account/registration/activation_invalid.html')

Ошибка с stmp.gmail.com:

Ошибка при конфигурации второй настройки:

Traceback (most recent call last):
  File "C:\Users\kayna\OneDrive\Área de Trabalho\ebrelease\venv\lib\site-packages\django\core\handlers\exception.py", line 55, in inner
    response = get_response(request)
  File "C:\Users\kayna\OneDrive\Área de Trabalho\ebrelease\venv\lib\site-packages\django\core\handlers\base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Users\kayna\OneDrive\Área de Trabalho\ebrelease\account\views.py", line 134, in account_register
    email.send()
  File "C:\Users\kayna\OneDrive\Área de Trabalho\ebrelease\venv\lib\site-packages\django\core\mail\message.py", line 298, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "C:\Users\kayna\OneDrive\Área de Trabalho\ebrelease\venv\lib\site-packages\django\core\mail\backends\smtp.py", line 124, in send_messages
    new_conn_created = self.open()
  File "C:\Users\kayna\OneDrive\Área de Trabalho\ebrelease\venv\lib\site-packages\django\core\mail\backends\smtp.py", line 80, in open
    self.connection = self.connection_class(
  File "C:\Users\kayna\AppData\Local\Programs\Python\Python310\lib\smtplib.py", line 255, in __init__
    (code, msg) = self.connect(host, port)
  File "C:\Users\kayna\AppData\Local\Programs\Python\Python310\lib\smtplib.py", line 341, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "C:\Users\kayna\AppData\Local\Programs\Python\Python310\lib\smtplib.py", line 312, in _get_socket
    return socket.create_connection((host, port), timeout,
  File "C:\Users\kayna\AppData\Local\Programs\Python\Python310\lib\socket.py", line 845, in create_connection
    raise err
  File "C:\Users\kayna\AppData\Local\Programs\Python\Python310\lib\socket.py", line 833, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [WinError 10061] Nenhuma conexão pôde ser feita porque a máquina de destino as recusou ativamente

Я думаю, что EMAIL_HOST не является правильным.

EMAIL_HOST = 'smtp.gmail.com'

Надеюсь, это может помочь.

Вернуться на верх