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

class Net::POP3

クラスの継承リスト: Net::POP3 < Object < Kernel < BasicObject

Abstract

特異メソッド

APOP(is_apop)

bool が真なら Net::APOP クラス、偽なら Net::POP3 クラスを返します。

使用例:

require 'net/pop'

pop = Net::POP3::APOP($isapop).new(addr, port)
pop.start(account, password) {
  ....
}
auth_only(address, port = 110, account, password)

POP セッションを開き認証だけを行って接続を切ります。 主に POP before SMTP のために用意されています。

使用例:

require 'net/pop'

Net::POP3.auth_only('your.pop3.server', nil,     # using default port (110)
                    'YourAccount', 'YourPassword')
certs

will be altered by #ssl_context.

default_port
default_pop3_port
default_pop3s_port
delete_all(address, port = 110, account, password)
delete_all(address, port = 110, account, password) {|mail| .... }

POP セッションを開き、サーバ上のメールをすべて削除します。 ブロックが与えられた時は削除する前にブロックにそのメールを渡します。

使用例:

require 'net/pop'

Net::POP3.delete_all(addr, nil, 'YourAccount', 'YourPassword') do |m|
  puts m.pop
end
disable_ssl
enable_ssl(verify, certs)

signature will be changed to enable_ssl(ctx).

foreach(address, port = 110, account, password) {|mail| .... }

POP セッションを開き、サーバ上のすべてのメールに対して繰り返します。 以下と同じです。

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

使用例:

require 'net/pop'

Net::POP3.foreach('your.pop.server', 110,
                  'YourAccount', 'YourPassword') do |m|
  file.write m.pop
  m.delete if $DELETE
end
new(address, port = 110, apop = false)

Net::POP3 オブジェクトを生成します。まだ接続はしません。 apop が真のときは APOP 認証を行うオブジェクトを生成します。

socket_type

このメソッドは obsolete です。 使わないでください。

start(address, port = 110, account, password)
start(address, port = 110, account, password) {|pop| .... }

address の port 番ポートに接続し、アカウント account パスワード password で POP ログインします。第二引数 port に nil を渡すと POP3 のデフォルトポート(110)を使います。

使用例:

require 'net/pop'

Net::POP3.start(addr, port, account, password) {|pop|
  pop.each_mail do |m|
    file.write m.pop
    m.delete
  end
}
use_ssl?
verify

will be altered by #ssl_context.

インスタンスメソッド

started?
active?

POP3 セッションが開始されていたら真を返します。

Ruby 1.8.0 以降では active? は obsolete です。 これからは常に started? を使ってください。

address

接続するアドレスです。

apop?

このインスタンスが APOP を使ってサーバに接続するなら true を返します。

auth_only(account, password)

POP セッションを開き認証だけを行って接続を切ります。 主に POP before SMTP のために用意されています。

使用例:

require 'net/pop'

pop = Net::POP3.new('your.pop3.server')
pop.auth_only 'YourAccount', 'YourPassword'
delete_all
delete_all {|popmail| .... }

サーバ上のメールを全て消去します。 ブロックを与えられたときは消去する前にその POPMail オブジェクトを ブロックに渡します。

使用例:

require 'net/pop'

n = 1
pop.delete_all do |m|
  File.open("inbox/#{n}") {|f| f.write m.pop }
  n += 1
end
disable_ssl
each_mail {|popmail| .... }
each {|popmail| .... }

pop3.mails.each と同じです。

enable_ssl(verify, certs)
finish

POP3 セッションを終了します。セッション開始前にこのメソッドが 呼ばれた場合は例外 IOError を発生します。

inspect
mails

Net::POPMail オブジェクトの配列をかえします。 この配列はセッションを開始したときに自動的に更新されます。

n_bytes

サーバにあるメールの総バイト数を返します。

n_mails

サーバにあるメールの数を返します。

open_timeout
open_timeout=(n)

接続時に待つ最大秒数です。 この秒数たってもコネクションが開かないときは 例外 TimeoutError を発生します。

port

接続するポート番号です。

read_timeout
read_timeout=(n)

読みこみ (read(2) 一回) でブロックしてよい最大秒数です。 この秒数たっても読みこめなければ例外 TimeoutError を発生します。

reset

セッションをリセットします。 具体的には Net::POPMail#delete で消去したメールが全て復活します。

POP3 ではメール一個だけを復活する方法はありません。

set_debug_output(f)

デバッグ用の出力 f をセットします。 f は << メソッドを持っているオブジェクトでなければなりません。

使用例:

require 'net/pop'

pop = Net::POP3.new('your.pop3.server', 110)
pop.set_debug_output $stderr
pop.start('YourAccount', 'YourPassword') {
  p pop.n_bytes
}

実行結果:

POP session started: your.pop3.server:110 (POP)
-> "+OK popd <1162042773.26346.155555a1861c@your.pop3.server>\r\n"
<- "APOP YourAccount XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r\n"
-> "+OK\r\n"
<- "STAT\r\n"
-> "+OK 37 339936\r\n"
339936
<- "QUIT\r\n"
-> "+OK\r\n"
start(account, password)
start(account, password) {|pop| .... }

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

use_ssl?

定数

Revision

net/pop3 file revision.

Methods

Classes