#python
Вопрос:
import smtplib
my_email = "*******@gmail.com"
password = "***********"
with smtplib.SMTP("smtp.gmail.com") as connection:
connection.starttls()
connection.login(user=my_email, password=password)
connection.sendmail(from_addr=my_email, to_addrs="*******@yahoo.com",
msg="Subject:Hellonn This is the body of my email.")
В gmail была включена функция «менее безопасные приложения». И наоборот, в Yahoo использовалась функция «Сгенерировать пароль приложения», которая все равно получила одинаковый ответ для обоих экземпляров.
Ответ №1:
Эта ошибка может быть вызвана многими причинами — обычно это означает, что что-то пошло не так при настройке подключения smtplib, и ваша электронная почта не настроена.
Чтобы получить более подробное и полезное сообщение об ошибке, необходимо включить отладку.
Для этого добавьте, добавьте эту строку кода:
connection.set_debuglevel(1)
Это выведет на консоль гораздо больше описательных сообщений отладчика.
Ответ №2:
попробуйте установить порт, например , 465 для gmail, smptlib.SMTP("smtp.gmail.com", 465
) если ничего из этого не сработает, попробуйте изменить безопасность передачи с starttls()
на SMTP_SSL
, чтобы ваш код выглядел так:
import smtplib, ssl #import ssl module
port = 465 # For SSL
# Create a secure SSL context
context = ssl.create_default_context()
with smtplib.SMTP_SSL("smtp.gmail.com", port, context=context) as server:
server.login(my_email, password)
server.sendmail(from_addr=my_email, to_addrs=reciver_email, msg=message)