smtplib.SMTPAuthenticationError
Вот ошибка:
Traceback (most recent call last):
File "spam.py", line 28, in <module>
main()
File "spam.py", line 25, in main
send_mail()
File "spam.py", line 21, in send_mail
server.login( login, password )
File "C:\Users\Володимир\AppData\Local\Programs\Python\Python38-32\lib\smtplib.py", line 734, in login
raise last_exception
File "C:\Users\Володимир\AppData\Local\Programs\Python\Python38-32\lib\smtplib.py", line 723, in login
(code, resp) = self.auth(
File "C:\Users\Володимир\AppData\Local\Programs\Python\Python38-32\lib\smtplib.py", line 646, in auth
raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (534, b'5.7.9 Application-specific password required. Learn more at\n5.7.9 https://support.google.com/mail/?p=InvalidSecondFactor s27sm2028627ljo.80 - gsmtp')
А вот код:
import smtplib as root
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
def send_mail():
login = input('Email: ')
password = input('Pasword: ')
url = input('URL: ')
toaddr = input('Addres of mail:')
topic = input( 'team: ' )
message = input('Message : ')
msg = MIMEMultipart()
msg[ 'Subject' ] = topic
msg[ 'From' ] = login
body = message
msg.attach(MIMEText(body, 'plain'))
server = root.SMTP_SSL( url, 465 )
server.login( login, password )
server.send_mail(login, toaddr, msg.as_string() )
def main():
send_mail()
if __name__ == '__main__':
main()
Ответы (1 шт):
5.7.9 Application-specific password required. Learn more at\n5.7.9 https://support.google.com/mail/?p=InvalidSecondFactor
Судя по этому сообщению об ошибке, в учетной записи включено двухэтапное подтверждение, поэтому вам нужно создать пароль для конкретного приложения и использовать его в своем коде Python. Вход в систему с использованием паролей приложения.
Если я не прав, и у вас не включен 2FA, то вы должны разрешить доступ для менее безопасных приложений: войдите в учетную запись Gmail с помощью веб-браузера по адресу https://mail.google.com , затем перейдите в «Настройки»> «Учетные записи» и Импорт> Другие настройки аккаунта Google. В разделе Безопасность прокрутите вниз и включите доступ для менее безопасных приложений. Этот параметр необходим для включения доступа SMTP, POP или IMAP.
Если это не помогло, вам может потребоваться очистить Captcha: перейдите на страницу https://accounts.google.com/DisplayUnlockCaptcha и войдите в систему, используя имя пользователя и пароль Gmail. Если необходимо (обычно это не так), введите буквы на искаженном изображении, затем нажмите «Продолжить». Это даст десять минут для регистрации кода Python в качестве утвержденного соединения. Обратите внимание, что вы должны использовать учетную запись, которую вы используете в своем коде - если браузер уже вошел в другую учетную запись, вы должны сначала выйти. Кроме того, вы должны активировать код для установления соединения в течение десяти минут после нажатия кнопки «Продолжить».