Ошибка тайм-аута в программе 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.