Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > net/popライブラリ > Net::POP3クラス > foreach

singleton method Net::POP3.foreach

foreach(address, port = nil, account, password, isapop=false) {|mail| .... } -> ()[permalink][rdoc]

POP セッションを開始し、 サーバ上のすべてのメールを取りだし、 個々のメールを引数としてブロックを呼びだします。

個々のメールは Net::POPMail のインスタンスで渡されます。

port に nil を渡すと、適当なポート(通常は110、SSL利用時には 995)を 使います。

以下のコードと同様の処理をします。

require 'net/pop'

Net::POP3.start(address, port, account, password, isapop=false) {|pop|
  pop.each_mail do |m|
    yield m
  end
}

使用例:

require 'net/pop'

Net::POP3.foreach('pop.example.com', 110,
                  'YourAccount', 'YourPassword') do |m|
  file.write m.pop
  m.delete if $DELETE
end
[PARAM] address:
POP3サーバのホスト名文字列
[PARAM] port:
接続するPOP3サーバのポート番号
[PARAM] account:
アカウント名文字列
[PARAM] password:
パスワード文字列
[PARAM] isapop:
真でAPOPを利用します
[EXCEPTION] TimeoutError:
接続がタイムアウトした場合に発生します
[EXCEPTION] Net::POPAuthenticationError:
認証に失敗した、もしくはAPOPを利用しようとしたがサーバがAPOPを提供していない場合に発生します
[EXCEPTION] Net::POPError:
サーバが認証失敗以外のエラーを報告した場合に発生します
[EXCEPTION] Net::POPBadResponse:
サーバからの応答がプロトコル上不正であった場合に発生します

[SEE_ALSO] Net::POP3.start, Net::POP3#each_mail