Установите бэкенд-хост Django send_mail с помощью Gmail

Я перерыл много файлов, чтобы установить send_mail backend с хостом Gmail. Вот мои настройки:

EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'myemail'
EMAIL_HOST_PASSWORD = 'mypassword'

DEFAULT_FROM_EMAIL = 'myemail'

Не работает... Я нашел, что кто-то упоминал, что нужно установить учетную запись Gmail с "менее безопасным приложением". Я попробовал, но это не сработало. На сайте google говорится: "Чтобы обеспечить безопасность вашего аккаунта, с 30 мая 2022 года Google больше не поддерживает использование сторонних приложений или устройств, которые просят вас войти в аккаунт Google, используя только имя пользователя и пароль". (см: https://support.google.com/accounts/answer/6010255?hl=en).

Не смотря ни на что, я все равно попытался использовать оболочку python3 manage.py, и получил ошибку: SMTPAuthenticationError: (535, b'5.7.8 Имя пользователя и пароль не приняты. Learn more at\n5.7.8 https://support.google.com/mail/?p=BadCredentials jj4-20020a170903048400b0016a2b68823esm9889669plb.141 - gsmtp')

Может ли кто-нибудь помочь мне, большое спасибо!

У меня аналогичный опыт. Когда я тестировал программу, я получил ошибку, о которой вы упомянули. Это заставило меня очень нервничать.

Временным решением было изменение пароля учетной записи. Затем в течение некоторого времени я смог снова тестировать, используя gmail. К сожалению, но через некоторое время доступ был заблокирован.

Я не нашел решения и прежние настройки недоступны. Очень жаль, что сервис все усложняет. Вы можете попробовать бесплатные альтернативы SMTP.

Начиная с 30 мая 2022 года, Google не позволит приложениям входить в Gmail с обычным паролем учетной записи. См: https://support.google.com/accounts/answer/6010255

Чтобы обойти эту проблему, необходимо использовать "App Password" от Google. На сайте myaccount.google.com перейдите в раздел Безопасность, включите 2FA, затем создайте "Пароль приложения".

Используйте пароль приложения вместо пароля учетной записи, и он будет работать.

Вернуться на верх