Search
Write a publication
Pull to refresh

Как не напороться на грабли при использовании smtplib и почты gmail

Недавно, прочитав статью, я решил попробовать автоматизировать отправку сообщений при помощи языка программирования Python. А именно при помощи библиотеки smtplib.

Сразу хочу сказать, что эта статья будет небольшим дополнением той статьи.
Повторяя всё показанное в той статье, я напоролся на эту ошибку.

>>> import smtplib
>>> s = smtplib.SMTP('smtp.gmail.com', 587)
>>> s.starttls()
(220, b'2.0.0 Ready to start TLS')
>>> s.login('somemail@gmail.com', 'somepass')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\ROBOTD4\AppData\Local\Programs\Python\Python37\lib\smtplib.py", line 730, in login
    raise last_exception
  File "C:\Users\ROBOTD4\AppData\Local\Programs\Python\Python37\lib\smtplib.py", line 721, in login
    initial_response_ok=initial_response_ok)
  File "C:\Users\ROBOTD4\AppData\Local\Programs\Python\Python37\lib\smtplib.py", line 642, in auth
    raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepted. Learn more at\n5.7.8  https://support.google.com/mail/?p=BadCredentials b204sm8826287wmh.29 - gsmtp')

Я пару раз перечитывал статью и там ничего не написано про данную ошибку. Поэтому я решил сам разобраться в ошибке.

Как видно в ошибке есть ссылка: https://support.google.com/mail/?p=BadCredentials

Я перешел по ссылке, бегло прочитал описание и понял как её исправить.

Чтобы не затягивать статью, я расскажу вкратце. Но вы можете прочитать полное описание ошибки и способов её исправления, перейдя по ссылке.

Суть ошибки такая


Google не позволяет нам авторизоваться через smtplib, т.к. этот тип авторизации «менее безопасный». Чтобы быстро и оперативно исправить данную ситуацию надо просто перейти по ссылке и разрешить непроверенным приложениям доступ к почте.

И после данных действий у вас получиться нормально использовать библиотеку smtplib и автоматизировать отправку сообщений почты.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.