libnet-1.12 > Net::POP3

名前

Net::POP3 - POP3(Post Office Protocol 3)クライアントクラス (RFC1939)

概要

    use Net::POP3;

    # コンストラクタ
    $pop = Net::POP3->new('pop3host');
    $pop = Net::POP3->new('pop3host', Timeout => 60);

説明

このモジュールは、POP3プロトコルへのクライアントインタフェースを実装し、 Perl5アプリケーションがPOP3サーバーと通信することを可能にします。 このドキュメントは、読者がRFC1939で記述されているPOP3プロトコルの概念に 精通しているものとします。

新しいNet::POP3オブジェクトはnewメソッドによって作られなければなりません。 一度作成すれば、このオブジェクトを通して全てのPOP3コマンドにアクセスすることが できます。

使用例

    ここに、いくつか小さな使用例が必要 :-)

コンストラクタ

new ( [ HOST, ] [ OPTIONS ] )

新しい Net::POP3 オブジェクトのコンストラクタです。HOSTは POP3接続に必要とされるリモートホストの名前です。

HOSTが指定されなかった場合、Net::Configで指定された POP_Hostが使われます。

OPTIONSはキーと値の組を使ってハッシュのような形式で渡されます。 指定できるオプションは以下の通りです:

ResvPort - 与えられると、Net::POP3オブジェクトのためのソケットは ソケットが作成されたときbindを使って与えられたローカルポートに 結び付けられます。

Timeout - POP3サーバーからの応答を待つ最大時間を秒単位で 指定します(デフォルト: 120)

Debug - デバッグ情報を利用できるようにします

メソッド

特に記述がなければ、全てのメソッドはtrueまたはfalseを返します。 trueが処理が成功したことを意味します。メソッドが値を返すと 宣言しているときには、失敗ではundefまたは空リストを返します。

user ( USER )

USER コマンドを送信します。

pass ( PASS )

PASS コマンドを送信します。メールボックスの中のメッセージ数を返します。

login ( [ USER [, PASS ]] )

USER、PASSコマンドの両方を送信します。もしPASSが指定されなければ、 Net::POP3Net::Netrcを使って、使用中のホスト名、ユーザ名を使って パスワードを検索します。 もしusernameが指定されなければ、現在のユーザー名が使用されます。

メールボックスのなかのメッセージ数を返します。しかしサーバーにメッセージが 何もなければ文字列"0E0"を返します。これはブール値コンテキストでは trueになりますが、数値コンテキストでは0です。

指定したユーザがサーバーで認証できなければ、undefが返されます。

apop ( [ USER [, PASS ]] )

サーバーでパスワードPASSを持ったUSERで認証を行います。 "login"と似ていますが、パスワードはクリアなテキストで送信されません。

このメソッドを使うためには、Digest::MD5 か MD5 モジュールがインストール しておかなければなりません。そうでなければ、このメソッドはundefを返します。

top ( MSGNUM [, NUMLINES ] )

ヘッダおよびボディの先頭からNUMLINES行目以降のMSGNUM行を取得します。 サーバーから読みこんだテキスト行が入った配列へのリファレンスを返します。

list ( [ MSGNUM ] )

引数が指定されると、listは、そのメッセージの大きさをオクテット数で返します。

引数を指定しなければ、ハッシュへのリファレンスを返します。 キーは削除されていない全てのメッセージ番号(MSGNUM)、 値はその大きさのオクテット数になります。

get ( MSGNUM [, FH ] )

リモート・メールボックスから指定されたメッセージ番号MSGNUMのメッセージを 取得します。サーバーから読みこんだテキスト行が入った配列へのリファレンスを 返します。 もしFHが与えられると、サーバーから返された行はファイルハンドル FHに出力されます。

getfh ( MSGNUM )

get()と同様。ただし結び付けられたファイルハンドルを返します。 このファイルハンドルから読み込むとリクエストされたメッセージを 返します。メッセージの終わりでファイルハンドルはEOFを返します。 そして再利用するべきではありません。

last ()

アクセスされたメッセージのなかで一番大きなメッセージ番号(MSGNUM)を返します。

popstat ()

2つの要素を持った配列を返します。それらは削除されていないメッセージ数と メールボックスの大きさのオクテット数になります。

ping ( USER )

2つの要素を持った配列を返します。それらは新しいメッセージの数と USERのためのメッセージの合計数になります。

uidl ( [ MSGNUM ] )

指定されたMSGNUMのためのユニークな識別子を返します。MSGNUMが 指定されなければ、uidlはキーがメッセージ番号、値がユニークな識別子 というハッシュへのリファレンスを返します。

delete ( MSGNUM )

MSGNUMのメッセージがリモートメールボックスから削除されるように印をつけます。 サーバーとの接続が切れるとき、印をつけられた全てのメッセージは リモートメールボックスから削除されます。

reset ()

リモートPOP3サーバーのステータスをリセットします。 これにはすべてのメッセージが削除されないよう状態をリセットすることも含みます。

quit ()

リモートPOP3サーバーとの接続を切断し終了します。 削除されるように印がつけられたメッセージはすべてリモートメールボックスから 削除されます。

注意

Net::POP3オブジェクトがquitメソッドが呼ばれる前に スコープから外れると、接続が切られる前にresetが呼び出されます。 これは削除されるように印がつけられたメッセージが削除されないことを 意味します。

参考資料

Net::Netrc, Net::Cmd

作者

Graham Barr <gbarr@pobox.com>

著作権(COPYRIGHT)

Copyright (c) 1995-1997 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


$Id$