pop.rb


Mail::POPSession

スーパークラス

Mail::Session

クラスメソッド

new( address = 'localhost', port = 110 )

新しくPOPSessionオブジェクトを生成します。まだ接続はしません。

メソッド

start( account, password )

リモートホストとの接続を開始し、アカウントにaccount、パスワードにpasswordを 使ってPOPログインします。

each{|mail| ...}

popsession.mails.each と同じです。

mails

POPSession::POPmailの配列をかえします。 この配列はstartしたときに自動的に更新されます。


Mail::POPSession::POPmail

POPサーバー上のメール一通を抽象的に表現するクラス。 メールの取得や消去といった操作をカプセル化します。

スーパークラス

Object

メソッド

all
pop
mail

メールを受信してその文字列をかえします。

header

ヘッダだけを受信してその文字列をかえします。

delete
delete!

メールを削除します。delete!はdeleteが再定義された場合のために定義されています。

size

メールのサイズ(バイト)をかえします。

deleted?

メールが消去されているとき真。とりけせません。


Mail::APOPSession

スーパークラス

Mail::POPSession

このクラスでは新しいメソッドは導入していません。 内部でおこなっている認証の方式が変わるだけです。


Mail::POP3

POP3プロトコルの文法をカプセル化するクラス。このクラスでは 文法を保証するだけで、その順番や、使うタイミングの正しさは 保証しません。そのような保証が必要なときはPOPSessionを使います。

スーパークラス

Mail::Protocol

クラスメソッド

new( socket )
ProtocolSocketを受けとって新しくPOP3オブジェクトを生成し、POPセッションを開始します。

メソッド

auth( acnt, pwd )

アカウントacnt、パスワードpwdを使ってPOP認証を行います。RPOPはあつかえません。 認証に失敗したときは、INETprotocol::ProtocolError 例外が発生します。

list

スプールにあるメールのリストを array[ number ] = size の形式の配列として かえします。コマンドが失敗したときはINETprotocol::ProtocolError 例外が発生します。

quit

POPセッションを終了します。途中でエラーがおきても強制的に接続を切断します。

rset
RSETコマンドを使ってセッションをリセットします。メールの消去など、 行った変更がすべて取り消されます。
top( num, lines = 0 )
TOPコマンドを使って、メールヘッダ全てと、lines行分のメール本文を 取得します。第一引数 num はサーバー上でのメール番号(整数)です。

また、このコマンドは、RFC1939では'Optional'です。

retr( num )
RETRコマンドを使って、メール全体を取得します。numはサーバー上のメール番号です。
dele( num )
DELEコマンドを使って、メールをサーバー上で消去します。このコマンドは、 RSETでしかとりけせません。numは、サーバー上のメール番号です。

Mail::APOP

このクラスでは新しいメソッドは定義していません。 認証の際に使用するコマンドが違うだけです。

スーパークラス

Mail::POP3

メソッド

apop( acnt, pwd )

アカウントacnt、パスワードpwdを使ってAPOP認証をおこないます。
サーバーがAPOP対応でなかったときや、認証に失敗したときは 例外Protocol::ProtoAuthErrorが発生します。それ以外のエラーでは、通常の 例外Protocol::ProtocolErrorが発生します。


Author: Minero Aoki (aamine@dp.u-netsurf.ne.jp)