2012-04-10 68 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()方法對此有深刻的描述。魔術字是提交

連接超時通常是服務器設置,當然,當服務器超時連接時,它被認爲是回滾