【问题标题】:Does a pop3 connection timeout?pop3 连接是否超时?
【发布时间】:2012-04-10 21:38:55
【问题描述】:

我正在使用 python poplib

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

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

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

我的 POP3.quit() 调用引发了 poplib.error_proto 异常,并显示“超时”消息,我想知道连接是否会自行超时。

【问题讨论】:

    标签: python pop3 poplib


    【解决方案1】:

    一段时间不活动后 POP3 连接是否超时?

    这主要取决于另一端的服务器软件。某些套接字库可能允许您指定本地超时。连接将在本地超时和远程超时之间最短的时间超时。

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

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

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

    超时行为通常与手动关闭套接字(无论是否关闭)相同。如果您不发送退出命令,则不会从服务器中删除消息。

    【讨论】:

      【解决方案2】:

      POP3 是一种事务性的。所以如果你从服务器下载并删除一条消息,直到你优雅地关闭连接后它才会生效。 POP3.quit() 方法对其进行了深入的描述。神奇的词是commit

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

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

        • 不,这是连接尝试的超时时间(以秒为单位)
        • 对不起我的错误!我应该坚持使用 Android 标签 :)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-10-25
        • 1970-01-01
        • 2010-11-28
        • 2012-07-18
        • 2013-08-07
        • 2022-01-21
        • 1970-01-01
        相关资源
        最近更新 更多