SMTPAuthenticationError: (535, b'5.7.8 Имя пользователя и пароль не принимаются в Django production? - PullRequest
0 голосов
/ 08 октября 2019

У меня установлено приложение 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 *
...