问题描述
这是我的代码:
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
我也关闭了所有安全步骤:
我也关闭了防火墙保护。
但没有任何效果。
所以请有人帮助我。
解决方法
您需要指定端口。在本例中,587
为 TSL
。
不知何故它有效,但我没有深厚的知识来解释为什么。
我遇到了同样的问题,所以有一个解决方案:
connection = smtplib.SMTP("smtp.gmail.com",587)