class Net::POPMail

要約

POP サーバー上のメール一通を表現するクラス。

メールの取得や消去といった操作をカプセル化します。 Net::POP3 クラスが生成するもので、ユーザが直接は生成しません。

目次

インスタンスメソッド

インスタンスメソッド

pop -> String[permalink][rdoc]
all -> String
mail -> String
pop {|str| .... } -> nil
all {|str| .... } -> nil
mail {|str| .... } -> nil
pop(io) -> object
all(io) -> object
mail(io) -> object

メールを受信します。

引数もブロックも与えられなかった場合にはメールの内容を文字列で返します。

ブロックが渡されたときは、メールの内容を少しずつ読み込み、読みこんだ文字列を引数としてブロックを呼びだします。

ブロックなしで、オブジェクトを引数として渡すとそのオブジェクトにメールの内容を << メソッドで順次書き込みます。通常 IO オブジェクトを渡します。この場合引数として渡したオブジェクトを返します。

pop, all, mail はすべて同じ効果ですが、 all と mail は obsolete です。

使用例:

require 'net/pop'

Net::POP3.start('pop.example.com', 110,
                'YourAccount', 'YourPassword') {|pop|
  pop.mails.each do |m|
    puts m.pop
  end
}

ブロックを利用する例:

require 'net/pop'

Net::POP3.start('pop.example.com', 110) {|pop|
  pop.each_mail do |m|
    m.pop do |str|
      print str
    end
  end
}
[PARAM] io:
メールの内容を書きこむオブジェクト
[EXCEPTION] TimeoutError:
通信がタイムアウトした場合に発生します
[EXCEPTION] Net::POPError:
サーバが認証失敗以外のエラーを報告した場合に発生します
[EXCEPTION] Net::POPBadResponse:
サーバからの応答がプロトコル上不正であった場合に発生します
delete -> ()[permalink][rdoc]
delete! -> ()

メールに削除マークを付けます。

削除マークを付けたメールは読み出せなくなります。セッション終了時に実際に削除されます。 Net::POP3#reset を呼ぶと削除マークは取り消されます。

delete! は obsolete です。

[EXCEPTION] TimeoutError:
通信がタイムアウトした場合に発生します
[EXCEPTION] Net::POPError:
サーバが認証失敗以外のエラーを報告した場合に発生します
[EXCEPTION] Net::POPBadResponse:
サーバからの応答がプロトコル上不正であった場合に発生します

[SEE_ALSO] Net::POPMail#deleted?

deleted? -> bool[permalink][rdoc]

メールに削除マークが付けられている場合に真を返します。

[SEE_ALSO] Net::POPMail#delete

header(dest='') -> String[permalink][rdoc]

メールヘッダを受信し、文字列として返します。

destを渡すとそのオブジェクトにデータを書き込みますが、これは obsolete なので使わないでください。

[PARAM] dest:
ヘッダを書き込む先(obsoleteなので使わないでください)
[EXCEPTION] TimeoutError:
通信がタイムアウトした場合に発生します
[EXCEPTION] Net::POPError:
サーバが認証失敗以外のエラーを報告した場合に発生します
[EXCEPTION] Net::POPBadResponse:
サーバからの応答がプロトコル上不正であった場合に発生します
size -> Integer[permalink][rdoc]
length -> Integer

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

number -> Integer[permalink][rdoc]

メールに対して振られた、そのメールボックスで一意な番号を返します。

サーバに接続しなおすとこの番号は変化する場合があります。メールごとに一意な識別子が必要なときは Net::POPMail#uidl を使ってください。

top(lines, dest='') -> String[permalink][rdoc]

メールヘッダと本文 lines 行を受信し、文字列として返します。

destを渡すとそのオブジェクトにデータを書き込みますが、これは obsolete なので使わないでください。

[PARAM] lines:
本文を読みだす行数
[PARAM] dest:
データを書き込む先(obsoleteなので使わないでください)
[EXCEPTION] TimeoutError:
通信がタイムアウトした場合に発生します
[EXCEPTION] Net::POPError:
サーバが認証失敗以外のエラーを報告した場合に発生します
[EXCEPTION] Net::POPBadResponse:
サーバからの応答がプロトコル上不正であった場合に発生します
uidl -> String[permalink][rdoc]
unique_id -> String

メールに対して振られた、サーバ上で一意な識別子 (UIDL) をかえします。

Net::POPMail#number と違い、この UIDL は接続しなおしても変化しません。