2012-04-10 17 views
1

私はPython poplibを使用しています。pop3接続のタイムアウトはありますか?

一定期間使用しないと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

+0

私の間違い申し訳ありません!私はAndroidのタグに固執する必要があります:) –

0

POP3はトランザクションの一種です。そのため、サーバからメッセージをダウンロードして削除すると、正常に接続を終了するまで有効になりません。 POP3.quit()メソッドには、それに関する洞察的な説明があります。魔法の言葉はコミットです。

通常、接続タイムアウトはサーバー設定であり、サーバーが接続をタイムアウトすると、ロールバックとみなされます。

関連する問題