Project "POPpers"

English page

せっかくSunのページからリンクされているので、英語のページも用意してみました。
英語の内容が正しいかどうか自信ありません。間違いに気づいた方はメールで教えていただけると助かります。

Last update Jul. 21, 2002

java.moon Menuに戻る

目次

  1. "POPpers"とは?
  2. ダウンロード
  3. 使い方
  4. URLNameによる動作の指定
  5. Propertiesによる動作の指定
  6. ご意見/ご要望/バグレポート
  7. 作成記

1. POPpersとは?

    "POPpers" とは、POP3 JavaMail provider です。
    POPpers は以下のような機能をサポートしています。

    1. ローカルストア。サーバから受信したメッセージをローカルハードディスク上に保存します。
    2. サブフォルダ。サブフォルダの作成/リネーム/削除をサポートします。
    3. イベント通知。フォルダが作成された/メッセージが追加された等のイベント通知をサポートします。
    4. APOP認証。POP3のAPOP認証をサポートします。
    "POPpers" はフリーソフトウェアです。ご利用になる前に必ずGNU General Public Licenseをお読みください。
    Sun も POP3 providerを出していますが、ハードディスク上にメッセージを保存したり、サブフォルダを作ったりする事はまだ出来ないようです。

2. ダウンロード (Version 0.9.2)

    ZIPアーカイブになっています。
    更新履歴についてはこちらをご覧ください。


3. 使い方

1. JavaMail を利用可能にする

 以下のURLから必要なソフトウェアをダウンロードして、セットアップを行ってください。詳しい手順は、それぞれのURLを参照してください。
JavaMail - http://java.sun.com/products/javamail/index.html
JAF(JavaBeans Activation Framework) - http://java.sun.com/beans/glasgow/jaf.html

2. poppers.jar を CLASSPATHに追加する

    CLASSPATHにダウンロードした ZIPファイルを以下のコマンドで解凍してください。

    上記ZIPファイルを以下のコマンドで解凍してください。

      jar xvf poppers_0_9_1.zip

    以下の4つのファイルが作成されます。
    ファイル名説明
    poppers.jarPOPpers本体
    poppers-src.zipPOPpersソースコード
    license.htmlライセンス
    license_en.htmlライセンス(英語)
    poppers.jar に CLASSPATH を通してください。

    例えば、Windows95/98 の場合にはコマンドラインで以下のように指定します。

    set CLASSPATH=%CLASSPATH%;c:\classes\poppers.jar
    (c:\classes は poppers.jar が存在するディレクトリ)
    JDK1.2.x の場合は、jre\lib\ext\ディレクトリにpoppers.jarをコピーしてください。 (CLASSPATHを追加する必要はありません)

3. JavaMail クライアントを使う

あとは、JavaMailクライアントを使うだけです。
プロトコル名には、pop3 を指定してください。
例えば、JavaMail にオマケとして付いてくる SimpleClient を起動するときには以下のようにしてください。
java SimpleClient -L pop3://user:password@host/

4. URLNameによる動作の指定

    Session.getStore(URLName url)のパラメータとして指定するURLNameに、以下のパラメータを指定できます。
    • localstore=受信したMessageを保存するディレクトリ名
      通常Messageはカレントディレクトリ配下に保存されますが、localstoreパラメータで そのディレクトリを指定できます。
      例)/usr/home/user/mailbox/ に Messageを保存する場合。
      pop3://user:password@host/?localstore=/usr/home/user/mailbox/
    • authmode=NORMAL | APOP
      POP3の認証モードを指定できます。
      通常はNORMAL(ユーザ名とパスワードを送信して認証)ですが、APOPを指定すると、 APOPで認証を行います。
      例)pop3://user:password@host/?authmode=APOP
    複数指定する場合には、&で区切ってください。
    例)pop3://user:password@host/?localstore=/usr/home/user/mailbox/&autmode=APOP

5. Propertiesによる動作の指定

POPpers は Properties で動作を指定できます。
指定できるプロパティは以下の通りです。
 
プロパティ名 説明 デフォルト値
jp.gr.java_conf.roadster.net.pop.rootDirectory String サーバから受信したメッセージを保存するディレクトリ カレントディレクトリ.(System.getProperty("user.dir"))
jp.gr.java_conf.roadster.net.pop.authMode String POP3認証モード、NORMAL または APOP を指定する. NORMAL
jp.gr.java_conf.roadster.net.pop.receivingFolder String サーバから受信したメッセージが格納されるフォルダ名. INBOX
jp.gr.java_conf.roadster.net.pop.checkInterval int サーバ上のメッセージを定期的にチェックする間隔.(単位:分)
このプロパティに 0 を指定した場合には定期的なチェックは行わない.
10
jp.gr.java_conf.roadster.net.pop.leaveOnServer boolean 受信済みしたメッセージを、サーバ上に残すか指定する.
falseを指定した場合、受信したメッセージはサーバ上から削除される。
true
jp.gr.java_conf.roadster.net.pop.checkActions String サーバからメッセージを受信するタイミング.以下の値が指定可能.
<init>Folder オブジェクトが作成された時点.推奨されない
openFolder.open() メソッドが呼び出された時点.
hasNewMessagesFolder.hasNewMessages() が呼び出された時点.
複数指定する場合にはカンマ (,) で区切って指定する.
例)<init>,hasNewMessages
open,hasNewMessages
jp.gr.java_conf.roadster.net.pop.receiveImmediatery boolean 上記checkActionsで指定したメソッドが呼び出された時点で、すぐにメッセージを受信するかを指定する.
true を指定した場合、メソッドがリターンした時点でメッセージの受信は完了している.
false を指定した場合、メッセージのダウンロードはバックグラウンドで行われる.
false
jp.gr.java_conf.roadster.net.pop.listHiddenFolders boolean 隠しディレクトリをリストアップするかを指定する。trueが指定された場合、隠しディレクトリもリストアップする。 このプロパティは実行環境がJava2以降でないと無視され、JDK1.1相当の環境では常に true となる。 false
jp.gr.java_conf.roadster.net.pop.timeout int Socketのタイムアウト時間をミリ秒で指定する。0を指定した場合にはタイムアウトしない。 0
    Properties の設定方法:
    1. Propertiesオブジェクトを作成し、適切な値を設定する。
      Properties props = new Properties();

    2. props.put("jp.gr.java_conf.roadster.net.pop.authMode", "APOP");
    3. Sessionオブジェクトのインスタンスを得る。
      Session session = Session.getDefaultInstance(props, authenticator);

6. ご意見/ご要望/バグレポート

 ご意見、ご要望、バグレポートは freebeans@xqb.biglobe.ne.jp までメールで教えていただけるとうれしいです。

7. 作成記

    POPpers の作成記録です。興味のある方はお読みください。

Project "POPpers" 目次

はじめに
    1. その1:JavaMailって何ですか? (May 06, 1998)
    2. その2:とりあえず動くものを (May 06, 1998)
    3. その3:ハードディスクに保存してみる (May 11, 1998)
    4. その4:機能の拡張とテスト用プログラムの作成 (May 18, 1998)
    5. その5:サーバ上にメッセージを残すか?削除するか? (May. 24, 1998)
    6. その6:完成 (Jul. 17, 1998)


    …完成しました。「Java API徒然草」を書いている青柳龍也さんにもメールを出したし、はいおしまいおしまい。

追伸:(Aug. 13, 1998)
なんと青柳さんからお返事をいただきました。
「卒論でJavaMailを利用する学生がいるので紹介しておく」そうです。
嬉しいです。が、そのまま卒論で使うのは危険なのでかならずソースを読んでくださいね。(もしその学生さんが読んでらっしゃったら)

さらに別の方から、「仕事でPOP3を扱うので使わせて!」というメールも頂きました。とても仕事で使えるレベルでは…。
JavaMail の POP3実装には、結構需要があるのでしょうか…。Sun が出せばいいのに。

追伸2:(Sep. 7, 1998)
知らないうちに Sun が JavaMail-1.1 を作ってしまいました。
http://java.sun.com/products/javamail/index.html
当然いくつかの変更が加えられています。POPpers も JavaMail-1.1 対応にします。Project "POPpers-1.1.x" の開始です。

Project "POPpers-1.1.x" 目次

    1. その7:JavaMail-1.1 (Sep. 07, 1998)
    2. その8:完成 (Sep. 08, 1998)
    3. その9:疑問 (Sep. 09, 1998)
    4. その10:いつどこにメッセージをダウンロードするか? (Oct. 11, 1998)
POP3 Service Provider がとりあえず出来たので、JavaMail クライアントの作成を始めました。こちらのページで順次公開していく予定です。

java.moon Menuに戻る


Copyright (C) 1998-2000 FreeBeans
(Since Nov. 10, 1998)