##
11.9.1 POP3 オブジェクト

POP3コマンドはすべて、それと同じ名前のメソッドとしてlower-caseで 表現されます。そしてそのほとんどは、サーバからのレスポンスとなる テキストを返します。

`POP3` クラスのインスタンスは以下のメソッドを持ちます。

`set_debuglevel`( | level)

  インスタンスのデバッグレベルを指定します。これはデバッギングアウトプット の表示量をコントロールします。デフォルト値の `0` は、デバッギング アウトプットを表示しません。値を `1` とすると、デバッギングアウト プットの表示量を適当な量にします。これは大体、リクエストごと1行になります。 値を `2` 以上にすると、デバッギングアウトプットの表示量を最大にします。 コントロール中の接続で送受信される各行をログに出力します。

`getwelcome`( | )

  POP3サーバーから送られるグリーティングメッセージを返します。

`user`( | username)

  userコマンドを送出します。応答はパスワード要求を表示します。

`pass_`( | password)

  パスワードを送出します。応答は、メッセージ数とメールボックスのサイズを 含みます。 注：サーバー上のメールボックスは `quit()` が呼ばれるまでロックされます。

`apop`( | user, secret)

  POP3サーバーにログオンするのに、よりセキュアなAPOP認証を使用します。

`rpop`( | user)

  POP3サーバーにログオンするのに、（UNIXのr-コマンドと同様の）RPOP認証を使用します。

`stat`( | )

  メールボックスの状態を得ます。結果は2つのintegerからなるタプルとなります。 `(message count, mailbox size)`.

`list`( | [which])

  メッセージのリストを要求します。結果は以下のような形式で表されます。 `(response, ['mesg_num octets', ...])` which が与えられると、それによりメッセージを指定します。

`retr`( | which)

  which 番のメッセージ全体を取り出し、そのメッセージに既読フラグを 立てます。結果は `(response, ['line', ...], octets)` という形式で表されます。

`dele`( | which)

  which 番のメッセージに削除のためのフラグを立てます。ほとんどの サーバで、QUITコマンドが実行されるまでは実際の削除は行われません （もっとも良く知られた例外は Eudora QPOPで、その配送メカニズムはRFCに 違反しており、どんな切断状況でも削除操作を未解決にしています）。

`rset`( | )

  メールボックスの削除マークすべてを取り消します。

`noop`( | )

  何もしません。接続保持のために使われます。

`quit`( | )

  Signoff: commit changes, unlock mailbox, drop connection. サインオフ：変更をコミットし、メールボックスをアンロックして、接続を破棄します。

`top`( | which, howmuch)

  メッセージヘッダと howmuch で指定した行数のメッセージを、 whichで指定したメッセージ分取り出します。結果は以下のような 形式となります。 `(response, ['line', ...], octets)`.

  このメソッドはPOP3のTOPコマンドを利用し、RETRコマンドのように、メッセージに 既読フラグをセットしません。残念ながら、TOPコマンドはRFCでは貧弱な仕様しか 定義されておらず、しばしばノーブランドのサーバーでは（その仕様が）守られて いません。このメソッドを信用してしまう前に、実際に使用するPOPサーバーで テストをしてください。

`uidl`( | [which])

  （ユニークIDによる）メッセージダイジェストのリストを返します。 which が設定されている場合、結果はユニークIDを含みます。それは `'response mesgnum uid`という形式のメッセージ、 または`(response, ['mesgnum uid', ...],octets)`という 形式のリストとなります。