SMTPAuthenticationError при отправке gmail

У меня такая ошибка: smtplib.SMTPAuthenticationError: (535, b'5.7.8 Имя пользователя и пароль не приняты. Learn more at\n5.7.8 https://support.google.com/mail/?p=BadCredentials ij28-20020a170902ab5c00b00163efcd50bdsm1197936plb.94 - gsmtp'), когда я пытаюсь отправить gmail в моем приложении для регистрации

EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'repository0612@gmail.com'
EMAIL_HOST_PASSWORD = '****************'
EMAIL_PORT = 587

Я читал на других форумах, что нужно просто включить менее безопасные приложения в настройках учетной записи google, но google уже отключил эту настройку. Я также попробовал отключить двустороннюю аутентификацию, и мои EMAIL_HOST_USER и EMAIL_HOST_PASSWORD совпадают с моим email и паролем. Что еще я должен сделать, чтобы решить эту проблему?

я считаю, что у вас проблема с кодом, попробуйте мою функцию, она работает с gmail, без дополнительных настроек

import smtplib
from email.mime.text import MIMEText


def email_sender(to_email, theme, message):
    sender = "example@gmail.com"
    password = "mypassword"
    body = message
    # make up message
    msg = MIMEText(body)
    msg['Subject'] = theme
    msg['From'] = sender
    msg['To'] = ", ".join(to_email)
    #sending
    session = smtplib.SMTP('smtp.gmail.com', 587)
    session.starttls()
    session.login(sender, password)
    send_it = session.sendmail(sender, to_email, msg.as_string())
    session.quit()

Спасибо за помощь, ребята. Он уже работает, используя сгенерированный пароль приложения в моем аккаунте google вместо использования моего собственного пароля в EMAIL_HOST_PASSWORD

<<<0><0>>Здравствуйте, у меня такая же проблема, я использовал приложение, созданное Google, но оно дает мне ту же проблему, не могли бы вы показать мне вид вашей настройки и как ее отправить, пожалуйста<<<1><1>>>

Эта функция больше не поддерживается с 30 мая 2022 года. See https://support.google.com/accounts/answer/6010255?hl=en&visit_id=637896899107643254-869975220&p=less-secure-apps&rd=1#zippy=%2Cuse-an-app-password

https://stackoverflow.com/a/27515833/19312416

Так что для новых пользователей мы не сможем использовать менее безопасное приложение из-за нового обновления, но беспокоиться не о чем.

В gmail после разрешения двухступенчатой аутентификации появится функция app passsword, которую можно использовать.

Зайдите в приложение пароль > укажите имя > скопируйте пароль.

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

это сработает!

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