pop -> String[permalink][rdoc]all -> Stringmail -> Stringpop {|str| .... } -> nilall {|str| .... } -> nilmail {|str| .... } -> nilpop(io) -> objectall(io) -> objectmail(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
}