@PiggyPig

Почему не отправляется форма на Gmail почту?

Похожие вопросы задавались ранее, но либо ответы не решали проблему, либо ответа на вопрос так и не было.

Собственно моя проблема заключается в следующей ошибке при отправке формы:

"... Username and Password not accepted. ...."

settings.py
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'my_email@gmail.com'
EMAIL_HOST_PASSWORD = 'password'


views.py
# ...
from django.core.mail import send_mail
from django.conf import settings

def contact(request):
    if request.method == 'POST':
        form = ContactForm(request.POST)

        if form.is_valid():
            email = form.cleaned_data['email']
            subject = form.cleaned_data['subject']
            message = form.cleaned_data['message']

            try:
                send_mail(subject, message, EMAIL_HOST_USER, [EMAIL_HOST_USER], fail_silently=False)
            except BadHeaderError:
                return HttpResponse('Invalid header found')
            return HttpResponse('Сообщение отправлено')
    else:
        form = ContactForm()
    return render(request, 'app/page.html', {'form': form})


В общем, я без понятия, как заставить работать эту почту. Протокол на данный момент http, но думаю это не причина (хотя от безысходности уже на все думаешь).
Сама форма рабочая, ранее вместо функции send_mail() использовал print() в консоль - все работало.
Вроде как код ничем не отличается от примеров на разных сайтах, а все равно не пашет. Помогите пожалуйста.
  • Вопрос задан
  • 495 просмотров
Решения вопроса 1
@PiggyPig Автор вопроса
Вопрос решился после выполнения следующих пунктов:
1) Переход на https-протокол
2) Замена во вьюшке переменной EMAIL_HOST_USER во всех местах на строковое значение
3) Замена в settings.py пароля почты на пароль приложения (в случае включенной двухэтапной аутентификации)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Bulbashful
Настройки для EMAIL_HOST_USER/PASSWORD для демонстрации написали? В них прописывается конкретная почта и пароль.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы