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