Python 使用smtplib库发送电子邮件时出现超时错误
这是我的密码:Python 使用smtplib库发送电子邮件时出现超时错误,python,smtplib,connection-timeout,Python,Smtplib,Connection Timeout,这是我的密码: import smtplib connection = smtplib.SMTP("smtp.gmail.com") connection.starttls() connection.login(user="mymail@gmail.com", password="mypassowrd") connection.sendmail(from_addr="mymail@gmail.com", to_ad
import smtplib
connection = smtplib.SMTP("smtp.gmail.com")
connection.starttls()
connection.login(user="mymail@gmail.com", password="mypassowrd")
connection.sendmail(from_addr="mymail@gmail.com", to_addrs="recievermail@gmail.com", msg="Hello")
connection.close()
所以我得到了这个错误:
Traceback (most recent call last):
File "E:\100Days-Python_programs\Day32\Birthday Wisher (Day 32) start\main.py", line 3, in <module>
connection = smtplib.SMTP("smtp.gmail.com")
File "C:\Users\HP\AppData\Local\Programs\Python\Python39\lib\smtplib.py", line 253, in __init__
(code, msg) = self.connect(host, port)
File "C:\Users\HP\AppData\Local\Programs\Python\Python39\lib\smtplib.py", line 339, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "C:\Users\HP\AppData\Local\Programs\Python\Python39\lib\smtplib.py", line 310, in _get_socket
return socket.create_connection((host, port), timeout,
File "C:\Users\HP\AppData\Local\Programs\Python\Python39\lib\socket.py", line 843, in create_connection
raise err
File "C:\Users\HP\AppData\Local\Programs\Python\Python39\lib\socket.py", line 831, in create_connection
sock.connect(sa)
TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
Process finished with exit code 1
回溯(最近一次呼叫最后一次):
文件“E:\100Days-Python\u programs\Day32\Birthday Wisher(Day 32)start\main.py”,第3行,在
connection=smtplib.SMTP(“SMTP.gmail.com”)
文件“C:\Users\HP\AppData\Local\Programs\Python\Python39\lib\smtplib.py”,第253行,在\uuu init中__
(代码,消息)=自连接(主机,端口)
文件“C:\Users\HP\AppData\Local\Programs\Python\Python39\lib\smtplib.py”,第339行,在connect中
self.sock=self.\u获取\u套接字(主机、端口、self.timeout)
文件“C:\Users\HP\AppData\Local\Programs\Python\Python39\lib\smtplib.py”,第310行,位于get套接字中
返回套接字。创建_连接((主机,端口),超时,
文件“C:\Users\HP\AppData\Local\Programs\Python\Python39\lib\socket.py”,第843行,位于create\u connection中
提出错误
文件“C:\Users\HP\AppData\Local\Programs\Python\Python39\lib\socket.py”,第831行,位于create\u connection中
sock.connect(sa)
TimeoutError:[WinError 10060]连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机没有响应
进程已完成,退出代码为1
我打开了不太安全的应用程序访问:
我也关闭了所有安全步骤:
我还关闭了防火墙保护。
但什么都没用
所以请有人来帮我。您需要指定端口。在本例中,
TSL的587
不知怎的,它是有效的,但我没有深刻的知识来解释为什么
我也有同样的问题,所以有一个解决方案:
connection = smtplib.SMTP("smtp.gmail.com", 587)
这回答了你的问题吗?