aliases: Net::POP, Net::POPSession
POP3 のセッションを表すクラスです。
APOP(is_apop) -> Class
[permalink][rdoc]bool が真なら Net::APOP クラス、偽なら Net::POP3 クラスを返します。
使用例:
require 'net/pop' pop = Net::POP3::APOP($isapop).new(addr, port) pop.start(account, password) { .... }
auth_only(address, port = nil, account, password, isapop=false)
[permalink][rdoc]POP セッションを開き、認証だけを行って接続を切ります。
主に POP before SMTP のために用意されています。
使用例:
require 'net/pop' Net::POP3.auth_only('pop.example.com', nil, # using default port (110) 'YourAccount', 'YourPassword')
certs -> String|nil
[permalink][rdoc]SSL のパラメータの ca_file (なければ ca_path) を返します。
どちらも設定されていない場合は nil を返します。
[SEE_ALSO] OpenSSL::SSL::SSLContext#ca_file, OpenSSL::SSL::SSLContext#ca_path
default_port -> Integer
[permalink][rdoc]default_pop3_port -> Integer
POP3 のデフォルトのポート番号(110)を返します。
default_pop3s_port -> Integer
[permalink][rdoc]デフォルトのPOP3Sのポート番号(995)を返します。
delete_all(address, port = nil, account, password, isapop=false) -> ()
[permalink][rdoc]delete_all(address, port = nil, account, password, isapop=false) {|mail| .... } -> ()
POP セッションを開始し、サーバ上のメールを全て消去します。
ブロックを与えられたときは消去する前に各メールを引数としてブロックを呼びだします。メールは Net::POPMail のインスタンスとして渡されます。
port に nil を渡すと、適当なポート(通常は110、SSL利用時には 995)を使います。
使用例:
require 'net/pop' Net::POP3.delete_all(addr, nil, 'YourAccount', 'YourPassword') do |m| puts m.pop end
[SEE_ALSO] Net::POP3.start, Net::POP3#delete_all
disable_ssl -> ()
[permalink][rdoc]新しく生成する Net::POP3 オブジェクトが SSL を利用しないように設定します。
[SEE_ALSO] Net::POP3.enable_ssl, Net::POP3.use_ssl?
enable_ssl(verify_or_params={}, certs=nil) -> ()
[permalink][rdoc]新しく生成する Net::POP3 オブジェクトが SSL による通信利用するように設定します。
verify_or_params にハッシュを渡した場合には、接続時に生成される OpenSSL::SSL::SSLContext オブジェクトの OpenSSL::SSL::SSLContext#set_params に渡されます。 certs は無視されます。
verify_or_params がハッシュでない場合には、接続時に生成される OpenSSL::SSL::SSLContext オブジェクトの OpenSSL::SSL::SSLContext#set_params に
{ :verify_mode => verify_or_params, :ca_path => certs }
というハッシュが渡されます。
[SEE_ALSO] Net::POP3.disable_ssl, Net::POP3.use_ssl?
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
[SEE_ALSO] Net::POP3.start, Net::POP3#each_mail
new(address, port = nil, apop = false) -> Net::POP3
[permalink][rdoc]Net::POP3 オブジェクトを生成します。
このメソッドではサーバの接続は行いません。 apop が真のときは APOP 認証を行うオブジェクトを生成します。
port に nil を渡すと、適当なポート(通常は110、SSL利用時には 995)を使います。
[SEE_ALSO] Net::POP3#start
socket_type -> Class
[permalink][rdoc]このメソッドは obsolete です。使わないでください。
ssl_params -> Hash|nil
[permalink][rdoc]SSL での接続を有効にしている場合には、 SSL の設定のハッシュを返します。
このハッシュは、接続時に生成される OpenSSL::SSL::SSLContext オブジェクトの OpenSSL::SSL::SSLContext#set_params に渡されます。このハッシュを変更することで、利用されるパラメータが変更されます。
SSL を有効にしていない場合には nil を返します。
start(address, port = nil, account=nil, password=nil, isapop=false) -> Net::POP3
[permalink][rdoc]start(address, port = nil, account=nil, password=nil, isapop=false) {|pop| .... } -> object
Net::POP3 オブジェクトを生成し、サーバへ接続します。
ブロックを与えない場合には生成したオブジェクトを返します。
ブロックを与えた場合には、生成した Net::POP3 オブジェクトがブロックに渡され、ブロックが終わったときにセッションを終了させます。この場合返り値はブロックの返り値となります。
port に nil を渡すと、適当なポート(通常は110、SSL利用時には 995)を使います。
以下のコードと同じ動作をします。
require 'net/pop' Net::POP3.new(address, port, isapop).start(account, password)
使用例:
require 'net/pop' Net::POP3.start(addr, port, account, password) {|pop| pop.each_mail do |m| file.write m.pop m.delete end }
[SEE_ALSO] Net::POP3#start
use_ssl? -> bool
[permalink][rdoc]新しく生成する Net::POP3 オブジェクトが SSL による通信利用するならば真を返します。
verify -> Integer|nil
[permalink][rdoc]SSL のパラメータの verify_mode を返します。
設定されていない場合は nil を返します。
[SEE_ALSO] OpenSSL::SSL::SSLContext#verify_mode
started? -> bool
[permalink][rdoc]active? -> bool
POP3 セッションが開始されていたら真を返します。
active? は obsolete です。
address -> String
[permalink][rdoc]接続するアドレスです。
apop? -> bool
[permalink][rdoc]このインスタンスが APOP を使ってサーバに接続するなら true を返します。
auth_only(account, password) -> ()
[permalink][rdoc]POP セッションを開き、認証だけを行って接続を切ります。
主に POP before SMTP のために用意されています。
使用例:
require 'net/pop' pop = Net::POP3.new('pop.example.com') pop.auth_only 'YourAccount', 'YourPassword'
delete_all -> ()
[permalink][rdoc]delete_all {|popmail| .... } -> ()
サーバ上のメールを全て消去します。
ブロックを与えられたときは消去する前に各メールを引数としてブロックを呼びだします。メールは Net::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 -> ()
[permalink][rdoc]このインスタンスが SSL による通信を利用しないように設定します。
[SEE_ALSO] Net::POP3#enable_ssl, Net::POP3#disable_ssl, Net::POP3#use_ssl?, Net::POP3.enable_ssl
each_mail {|popmail| .... } -> [Net::POPMail]
[permalink][rdoc]each {|popmail| .... } -> [Net::POPMail]
サーバ上の各メールを引数としてブロックを呼びだします。
メールは Net::POPMail のインスタンスとして渡されます。
pop3.mails.each と同じです。
enable_ssl(verify_or_params={}, certs=nil) -> ()
[permalink][rdoc]このインスタンスが SSL による通信を利用するように設定します。
verify_or_params にハッシュを渡した場合には、接続時に生成される OpenSSL::SSL::SSLContext オブジェクトの OpenSSL::SSL::SSLContext#set_params に渡されます。 certs は無視されます。
verify_or_params がハッシュでない場合には、接続時に生成される OpenSSL::SSL::SSLContext オブジェクトの OpenSSL::SSL::SSLContext#set_params に
{ :verify_mode => verify_or_params, :ca_path => certs }
というハッシュが渡されます。
[SEE_ALSO] Net::POP3.enable_ssl, Net::POP3#disable_ssl, Net::POP3#use_ssl?
finish -> ()
[permalink][rdoc]POP3 セッションを終了し、接続を閉じます。
mails -> [Net::POPMail]
[permalink][rdoc]サーバ上の全てのメールを、Net::POPMailオブジェクトの配列として返します。
この配列はメールを最初に取得しようとしたときに生成され、セッションの間キャッシュされます。
n_bytes -> Integer
[permalink][rdoc]サーバにあるメールの総バイト数を返します。
[SEE_ALSO] Net::POP3#n_mails
n_mails -> Integer
[permalink][rdoc]サーバにあるメールの数を返します。
[SEE_ALSO] Net::POP3#n_bytes
open_timeout -> Integer
[permalink][rdoc]接続時に待つ最大秒数を返します。
この秒数たってもコネクションが開かないときは例外 Net::OpenTimeout を発生します。
デフォルトは30秒です。
[SEE_ALSO] Net::POP3#open_timeout=
open_timeout=(n)
[permalink][rdoc]接続時に待つ最大秒数を設定します。
[SEE_ALSO] Net::POP3#open_timeout
port -> Integer
[permalink][rdoc]接続するポート番号です。
read_timeout -> Integer
[permalink][rdoc]読み込みでブロックしてよい最大秒数を返します。
この秒数たっても読みこめなければ例外 ReadTimeout を発生します。
デフォルトは60秒です。
[SEE_ALSO] Net::POP3#read_timeout=
read_timeout=(n)
[permalink][rdoc]読み込みでブロックしてよい最大秒数を設定します。
この秒数たっても読みこめなければ例外 ReadTimeout を発生します。
[SEE_ALSO] Net::POP3#read_timeout
reset -> ()
[permalink][rdoc]セッションをリセットします。
リセットによって Net::POPMail#delete で付けた削除マークがすべて取り除かれます。
POP3 ではメール一個だけを復活する方法はありません。
set_debug_output(f) -> ()
[permalink][rdoc]デバッグ用の出力 f をセットします。
このメソッドは深刻なセキュリティホールの原因となりえます。デバッグ以外の用途では使わないでください。
f は << メソッドを持っているオブジェクトでなければなりません。
使用例:
require 'net/pop' pop = Net::POP3.new('pop.example.com', 110) pop.set_debug_output $stderr pop.start('YourAccount', 'YourPassword') { p pop.n_bytes }
実行結果:
POP session started: pop.example.com:110 (POP) -> "+OK popd <1162042773.26346.155555a1861c@pop.example.com>\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) -> self
[permalink][rdoc]start(account, password) {|pop| .... } -> object
サーバへ接続し、POP3のセッションを開始します。
ブロックが渡された場合にはセッション開始後そのオブジェクト自身を引数としてブロックが呼びだされます。ブロック終了時にセッションを終了させます。
ブロックが渡されなかった場合にはそのオブジェクト自身を返します。この場合セッションを終了させるのはユーザの責任となります。
use_ssl? -> bool
[permalink][rdoc]このインスタンスが SSL を使って接続するなら真を返します。
[SEE_ALSO] Net::POP3#enable_ssl, Net::POP3#disable_ssl
Revision -> String
[permalink][rdoc]ライブラリ(ファイル)のリビジョンです。使わないでください。