У меня установлено приложение Django на Heroku. В одном из разделов я отправляю электронную почту пользователю, используя настройки SMTP Gmail. Электронные письма успешно отправляются, когда я запускаю проект локально, но не в своем развернутом проекте на Heroku.
Я видел много других ответов о Stackoverflow, но ни один из них не решил мою проблему. Я включил 2FA в своей учетной записи Google, сгенерировал пароль APP и использовал этот пароль в своем файле настроек. Включение параметра allow_less_secure_app не предлагается другими разработчиками
Мой settings.py
файл настроек электронной почты -
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = os.environ.get('EMAIL_USER2')
EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_PASS2')
Мой views.py
просмотр обработки почты-
def index(request)
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
message = form.cleaned_data['message']
email = form.cleaned_data['email']
subject = "You got a message"
thoughts = "{} by {}".format(message,email)
recipients = ['xyz@gmail.com']
sender = 'abc@gmail.com'
send_mail(subject, thoughts, sender ,recipients,fail_silently=False)
return HttpResponse()
else:
form = MyForm()
return render(request,'my_webapp/index.html',{'form':form})
Ошибка, которую я получаю в журналах Heroku:
1016 *