Ошибка тайм-аута в программе django send_mail

Я делаю функцию send_mail в django и подключаю к ней базу данных mysql для хранения значений имени и темы. Я использую smtp backend сервер для соединения почты и django. Используемый порт - 587.

Это мой settings.py

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mail_test',
'USER': 'root',
'PASSWORD': '',
'HOST':'localhost',
'PORT':'3306',
'OPTIONS':{
    'init_command':"SET sql_mode='STRICT_TRANS_TABLES'"
}
}
}


----
DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'swarai.bot@gmail.com'
EMAIL_HOST_PASSWORD = 'pfxbswfjgligavgb'

** Это мой views.py**

from django.views.generic import FormView, TemplateView
from .forms import EmailForm
from django.urls import reverse_lazy
from mailapp.models import Email
from django.shortcuts import render


class MailView(FormView):
    template_name = 'index.html'
    form_class = EmailForm
    success_url = reverse_lazy('mailapp:success')

    def form_valid(self, form):
        # Calls the custom send method
        form.send()
        return super().form_valid(form)
    
    def registered(request):
      name = request.POST['name']
      email = request.POST['email']
      inquiry = request.POST['inquiry']
      message = request.POST['message']
      
      person = Email(name=name, email=email, inquiry=inquiry, message=message)
      person.save()   
      return render(request, 'success.html')
        
class MailSuccessView(TemplateView):
    template_name = 'success.html'

Я получаю ошибку таймаута при отправке страницы. Я пытался добавить порт 587 с помощью панели управления. Но и тогда я получаю ту же ошибку. Я не знаю, где эта ошибка - на стороне порта или базы данных. Пожалуйста, помогите мне, ребята. Это мой первый проект с использованием django.

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