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中"不太安全的应用程序"启用特性。相反,在雅虎,"生成应用程序密码"特性被使用,并且两个实例仍然得到相同的响应。
这个错误可能有很多原因-通常这意味着在设置smtplib连接时出了问题,而您的电子邮件没有设置。
要获得更具描述性和有用的错误消息,您需要启用调试。
要做到这一点,添加这行代码:connection.set_debuglevel(1)
这将打印更多描述性调试器消息到控制台。
尝试为gmail,smptlib.SMTP("smtp.gmail.com", 465
设置一个端口(如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)