Бэкенд электронной почты Django и конфигурация smtp
Я пытаюсь использовать свой аккаунт Zoho в проекте django, чтобы получать электронные письма через контактные формы.
Я также следовал этому руководству: https://www.zoho.com/mail/help/zoho-smtp.html
В файле 'settings.py' я написал:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtppro.zoho.eu'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = '<domain name email>'
EMAIL_HOST_PASSWORD = '<password>'
and in views.py:
def home(request):
allTemplates = AllTemplates.objects.all()
if request.method == 'POST':
form = forms.ContactForm(request.POST)
if form.is_valid():
body = {
'name': form.cleaned_data['name'],
'surname': form.cleaned_data['surname'],
'from_email': form.cleaned_data['from_email'],
'message': form.cleaned_data['message'],
}
mail_body = "\n".join(body.values())
try:
send_mail("Generic contact", mail_body, '<domain name email>',
['<domain name email>'], fail_silently=False)
except BadHeaderError:
return HttpResponse('Ops, qualcosa è andato storto')
form = forms.ContactForm
context = {'form': form, 'allTemplates': allTemplates,
'allTemplates_length': len(allTemplates)}
return render(request, 'home.html', context)
N.B. в 'send_email' я ввел свой адрес электронной почты дважды для проверки
Я также пытался использовать ssl
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtppro.zoho.eu'
EMAIL_PORT = 465
EMAIL_USE_SSL = True
EMAIL_HOST_USER = '<domain name email>'
EMAIL_HOST_PASSWORD = '<password>'
но ничего, я не получаю никаких сообщений по электронной почте.
Есть ли кто-нибудь, кто уже прошел через это или кто может направить меня к какому-нибудь документу или руководству для изучения?
Заранее большое спасибо.
Я использую
EMAIL_PORT = 587
EMAIL_USE_TLS = True
самой большой моей болью было то, что все письма попали в папку спам и я не понимал этого в течение 2 часов.
тест с локальным выводом в терминал:
settings.py
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
- протестируйте на локальном почтовом сервере, чтобы убедиться, что письмо создано правильно:
settings.py
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST='localhost'
EMAIL_PORT=1025
и запустите локальный тестовый почтовый сервер параллельно с runserver в окне терминала:
python -m smtpd -n -c DebuggingServer localhost:1025