我正在使用python poplib。
POP3连接在一段时间不活动后是否会超时?有没有办法设置这个超时?这样的超时是否会导致标记为删除的电子邮件被删除,就像调用了quit()一样?
我看到的唯一超时是指连接尝试超时
class poplib.POP3(host[, port[, timeout]])
我的POP3.quit()调用抛出一个poplib.error_proto异常,并显示消息“timed out”,我想知道连接是否会自行超时。
答案 0 :(得分:2)
POP3连接在一段时间不活动后是否会超时?
这主要取决于另一端的服务器软件。某些套接字库可能允许您指定本地超时。在本地和远程超时之间的最短时间内,连接将超时。
有没有办法设置此超时?
除非您控制服务器软件设置(例如,您运行自己的服务器),否则无法更改远程超时。
这样的超时是否会导致标记为删除的电子邮件被删除,就像调用了quit()一样?
超时行为通常与手动关闭套接字相同(有或没有关闭)。如果不发送quit命令,则不会从服务器中删除消息。
答案 1 :(得分:0)
POP3是一种交易方式。因此,如果您从服务器下载并删除消息,则在您正常关闭连接之前它将无效。 POP3.quit()方法对此有深刻的描述。神奇的词是提交。
连接超时通常是服务器设置,当然,当服务器超时时,它被视为回滚。
答案 2 :(得分:-2)
是的,POP3套接字最终会超时。看这里你在构造函数中传递超时。
http://docs.python.org/library/poplib.html
class poplib.POP3(host[, port[, timeout]])