我试着每天用服务器的状态写一个发送邮件的小程序,我用的是smtplib,bat有点问题我不知道能不能设置连接超时!im try whit smtp.setdefaulttimeout(30)bat不工作
def connect(host,user,password)
try:
smtp = smtplib.SMTP(host)
smtp.login(user, password)
code = smtp.ehlo()[0]
if not (200 <= code <= 299):
code = smtp.helo()[0]
except:
pass
如何设置此函数的连接超时?谢谢
在内部,
smtplib
使用socket
时,可以在连接到主机之前使用socket.setdefaulttimeout()
:从Python2.6可以在SMTP库(official documentation)中设置超时:
“如果未指定,将使用全局默认超时设置”
如果使用较旧版本的Python(<;2.6),则需要设置套接字默认超时:
对我来说工作很好。
Python 3.7有一个额外的超时参数,可以使用:
https://docs.python.org/3/library/smtplib.html#smtplib.SMTP
Python 2中不存在此参数
相关问题 更多 >
编程相关推荐