Не могу отправить письмо (gmail) через python

1

У меня есть код, который работал полтора года назад. Он basiclly отправляет электронную почту.

import smtplib
import socket

gmail_user="SENDERMAIL"
gmail_password="SENDERPASS"
to = 'SENDTOTHIS'

email_text = "ADSADSADSA"

try:
    server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
    server.ehlo()
    server.login(gmail_user, gmail_password)
    server.starttls()
    server.sendmail(gmail_user, to, email_text)
    server.close()

    #I was using this code below and it was working. I tried above code but it also did not work.
    #server = smtplib.SMTP("smtp.gmail.com:587")
    #server.ehlo()
    #server.starttls()
    #server.ehlo()
    #server.login(gmail_user, gmail_password)
    #server.sendmail(gmail_user, to, email_text)
    #server.close()
    print("Done")
except Exception as exception:
    print(exception)

Здесь исключение

(534, b'5.7.14

5.7.14 KL7_2qGSLW9IBjP8dKKgP67bEgyKNc5ls76dnVDZcUlVQjJUQb0JX9BIVi_Agb84vKNOKB

5.7.14 fshB0ngZ_Tn8ocDpDHKavRKXmluVjHo5YM7ADKENtWn4aVTxyvaBlbXRGpA1EBh91bdV-o

5.7.14 pwiAWUHXKmRQEuSNSiFcv68DP4a7ghIu9YKnTyqtUEhGd4HgKtxa4Jz0mhSQDjD13UQWYB

5.7.14 -YEL5Sd2h5YxN8kkSAsK-J_hXMbpy7wNyeCov8lq1Aa3spZzgo> Пожалуйста, авторизуйтесь через

5.7.14 ваш веб-браузер, а затем повторите попытку.

5.7.14 Подробнее

5.7.14 https://support.google.com/mail/answer/78754 f132-v6sm3660398wme.24 - gsmtp ')

Я попытался

https://support.google.com/mail/answer/7126229?visit_id=636711453029417344-336837064&rd=2#cantsignin

  • 0
    У меня была такая же проблема несколько ночей назад. Дважды проверьте, чтобы менее безопасные приложения не выключались. Это для меня.
  • 0
    Вы видели ссылку, которую они вам дают? Они говорят, использовать полный адрес электронной почты, который отличается от пользователя, что произойдет, если вы используете полный адрес электронной почты?
Показать ещё 2 комментария
Теги:
gmail
smtplib

2 ответа

0

Я также могу посоветовать использовать более простую библиотеку (оболочку поверх smtplib, чтобы убедиться, что нет других факторов).... как yagmail (отказ от ответственности: я разработчик).

Попробуйте выяснить, работает ли это:

import yagmail
yag = yagmail.SMTP("username", "password")
yag.send(subject="hi")
  • 0
    Точно такая же ошибка
  • 0
    @ E141 Может, поможет одно из исключений?
0

Существует множество способов решить эту проблему. Надеюсь, этот код поможет. Единственное, что вам нужно сделать, это заполнить требуемые переменные.

    import socket
    import smtplib
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    # 
    message = "Your message" # Type your message
    msg = MIMEMultipart()
    password = "********" # Type your password 
    msg['From'] = "[email protected]" # Type your own gmail address 
    msg['To'] = "[email protected]" # Type your friend mail address  
    msg['Subject'] = "title" # Type the subject of your message 
    msg.attach(MIMEText(message, 'plain'))
    server = smtplib.SMTP('smtp.gmail.com: 587')
    server.starttls()
    server.login(msg['From'], password)
    server.sendmail(msg['From'], msg['To'], msg.as_string())
    server.quit()
  • 0
    Ничего не изменилось
  • 0
    Пожалуйста, измените «print (исключение)» на print (str (исключение)), чтобы мы могли видеть сообщение об ошибке
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню