当电子邮件发送失败时,我遇到了smtplib绑定我的程序的问题,因为从来没有超时我正在使用的服务器没有也永远不会有超过2.4的python,因此我不能在python的更高版本中使用SMTP构造函数的timeout参数。
Python 2.4's文档显示SMTP类没有“timeout”参数:
class SMTP([host[, port[, local_hostname]]])
那么我该如何模拟这个功能呢?
最佳答案
import socket
socket.setdefaulttimeout(120)
将在2分钟后使任何套接字超时,除非更改了特定套接字的超时(我相信Python2.4中的SMTP不会执行后者)。
编辑:显然,根据OP的评论,这打破了TLS,所以,B计划…
抓取2.6的smtplib源文件并将其作为自己的模块反向移植到2.4中怎么样?不应该太难…完全支持超时!-)
见here。
关于python - 如何在python 2.4中设置smtplib发送超时?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1309991/