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

时间:2009-08-21 03:43:38

标签: python python-2.4 smtplib

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

Python 2.4's个文档显示SMTP类没有'timeout'参数:

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

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

1 个答案:

答案 0 :(得分:6)

import socket
socket.setdefaulttimeout(120)

将在2分钟后使任何套接字超时,除非特定套接字的超时发生更改(我相信Python 2.4中的SMTP不会执行后者)。

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

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

here ...