2012-04-10 67 views
1

我正在使用python poplibpop3连接是否超时?

POP3连接在一段时间不活动后是否超时?有没有办法设置这个超时?这样的超时是否会导致标记为删除的电子邮件被删除,就好像已经调用了quit()一样?

我看到提到的唯一超时是指连接尝试超时

class poplib.POP3(host[, port[, timeout]]) 

我POP3.quit()调用抛出一个异常poplib.error_proto与消息“超时”,我想,如果连接将自动超时。

回答

2

是否闲置一段时间后,POP3连接超时?

这主要取决于另一端的服务器软件。一些套接字库可能会让你指定一个本地超时。在任何时候,连接都会在本地和远程超时之间的最短时间内超时。

有没有办法设置这个超时?

除非您控制服务器软件设置(例如,您运行自己的服务器),否则无法更改远程超时。

这样的超时会导致标记为删除的电子邮件被删除,就好像quit()被调用一样吗?

超时行为通常与手动关闭套接字(有或没有关闭)相同。如果您不发送quit命令,则不会从服务器中删除消息。

-2

是的,POP3套接字最终会超时。看看你在构造函数中传递超时值。

http://docs.python.org/library/poplib.html

class poplib.POP3(host[, port[, timeout]]) 
+1

不,这是连接尝试的超时秒数 – Intra 2012-04-10 21:46:14

+0

对不起我的错误!我应该坚持Android标签:) – 2012-04-10 22:01:41

0

POP3是一种交易。因此,如果您从服务器下载并删除一条消息,直到您正常关闭连接才会生效。 POP3.quit()方法对此有深刻的描述。魔术字是提交

连接超时通常是服务器设置,当然,当服务器超时连接时,它被认为是回滚