编程语言
首页 > 编程语言> > 如何在python 2.4中设置smtplib发送超时?

如何在python 2.4中设置smtplib发送超时?

作者:互联网

当电子邮件发送失败时,我遇到了smtplib捆绑我的程序的问题,因为永远不会引发超时.我正在使用的服务器没有,并且永远不会有大于2.4的python,所以我不能在更高版本的python中使用SMTP构造函数的超时参数.

Python 2.4’s docs显示SMTP类没有’timeout’参数:

class SMTP([host[, port[, local_hostname]]])

那么我该如何模拟这个功能呢?

解决方法:

import socket
socket.setdefaulttimeout(120)

除非更改特定套接字的超时(并且我认为Python 2.4中的SMTP不执行后者),否则将在2分钟后使任何套接字超时.

编辑:显然,根据OP的评论,这打破了TLS,所以,计划B ……:

如何抓取2.6的smtplib源文件并将其作为自己的模块反向移植到2.4?不应该太难……并且干净地支持超时! – )

here ……

标签:python-2-4,smtplib,python
来源: https://codeday.me/bug/20190827/1742917.html