I will be waiting for your knock ever after from today.


Visards, Inc.

Java Sticky Note

java
  ・JSTL
  ・Commons Net
  ・Apache
  ・Tomcat
  ・James
  ・Jetspeed
  ・POI
  ・Jexl
  ・Jelly
  ・Blojsom
  ・eclipse

link
  ・James

author
  ・profile

James  
<< prev | Index | next >>
Apache Jamesによるメールフレームワークの導入

mixiチェック

4. Jamesのインストール
この節ではJamesを設定し,実際にメールを 受信してみることにします.Jamesの実行には, Java2の実行環境が必要です.Java2実行環境を あらかじめインストールしておいてください. 執筆の時点でJamesの最新版は2.1.2です.本稿 ではLinuxにインストールする場合の例を中心に 記述していますが,UNIX系のOSをお使いの場 合もほぼ同様にインストール可能です.Windows 系をお使いの方は,ディレクトリや環境変数の 設定部分などで多少変更が必要です.

また,後ほど紹介するサンプルアプリケーショ ンではデータベースにMySQLを使用しますが, James自身の実行にはデータベースは必須ではありま せん.James単体で,メールサーバやMailetを使用す ることが可能です.


4.1 ダウンロード
Jakartaプロジェクトのバイナリダウンロードページ は, http://jakarta.apache.org/site/binindex.cgiです.

このページには、Jakartaプロジェクトで開発され、 ダウンロード可能なバイナリ形式のプログラムの一覧が 記述されています。Jamesは、もともとはJakartaプロジェクトの サブプロジェクトだったため、現時点でも、 ここからJames最新版のダウンロードページに 進むことができます。 Jamesのバイナリは tar.gz形式と zip形式で配布されています. 用意されているアーカイブには james と james-MailetSDK があり,MailetSDK には javadoc のドキュメントと一 部ソースコードが附属しています.どちらをダウンロ ードしても構いません.

ダウンロードしたファイルは適当なディレクトリに 展開してください(これ以降,アーカイブを展開し作 成されたディレクトリを $PHOENIX_HOME と記述し ます).Solarisをお使いの場合OSに付属のtarコマン ドでは,ファイルを展開できない場合があります.そ の場合にはGNUプロジェクトから配布されている tar コマンドを使用して展開してください.

展開すると,$PHOENIX_HOME/apps/ ディレクト リの下に james.sar というファイルが作成されます. これが Jamesの実体です.それ以外のファイルの多く は,Avalon で提供されているフレームワークや Phoenix 関連のファイルです.James が Avalon 上で実装され たアプリケーションであることがわかると思います.


4.2 James の設定と起動
まずはJamesを起動します.binディレクトリの下 に,run.bat と run.sh があります.展開した段階では, このbinディレクトリ下の run.sh と phoenix.sh にファ イルの実行権が設定されていませんので,実行権を設定 してください.また,環境変数JAVA_HOMEの設定 も忘れず行ってください.

SolarisやLinuxでは,Sendmailが動作している可 能性があります.その場合は,同じSMTPポートを使 用するJames は起動できませんので,あらかじめ Sendmail(あるいは,他のSMTPサーバ)は,停止 しておく必要があります.POP3サーバも同様に停止 しておいてください.POP3サーバは,inetdから起動 するように設定されている場合もありますので, /etc/inetd.conf(RedHat Linuxでは,/etc/xinetd.conf) も合わせて,POP3サーバが起動される設定になって いないか,確認しておいてください.

Solaris/Linuxを含むUNIX系のOSでは,run.shで 起動しますが,root権限がないとSMTP等のポートを 開くことができませんので,root権限でrun.shを起動 します.

# ./run.sh
  :
Phoenix 4.0.1

James 2.1.2
Remote Manager Service started plain:4555
POP3 Service started plain:110
SMTP Service started plain:25
NNTP Service started plain:119
Fetch POP Disabled

これで,POP3,SMTPサーバが起動しました.こ の初回の起動で,$PHOENIX_HOME/apps/の下に jamesディレクトリが作成されます.これは,最初の 時点であったjames.sarファイルの一部が展開された もので,設定ファイル等はこれ以降,$PHOENIX_ HOME/apps/james/ディレクトリ以下のファイルが 参照され,実行されます.このようなsarファイルの 展開管理なども,Avalonフレームワークが提供して いる機能です.

次に,DNS サーバを設定します.$PHOENIX_ HOME/apps/james/SAR-INF/config.xmlに図3の記 述があります.Jamesをインストールしているマシン がDNSサーバとなっていない場合は, ...に,DNSサーバのIPアドレスを 設定してください.

<dnsserver>

    <servers>
      <server>127.0.0.1</server>
    </servers>
    <authoritative>false</authoritative>
</dnsserver>


4.3 メールアカウントの設定
config.xmlの設定が終了したところで,再度run.sh を実行してJamesを起動します.次に,メールを送受 信するためのアカウントを作成し,メールサーバをテ ストしてみましょう. メールアカウントの作成には,Jamesが提供してい る RemoteManager 機能を使用します.図4の手順で James に対して telnet でログインします.

$ telnet localhost 4555<ENTER>
JAMES Remote Administration Tool 2.1.2
Please enter your login and password
Login id:
root<ENTER>
Password:
root<ENTER>
Welcome root. HELP for a list of commands

インストール時の状態では,ログインIDとパスワ ードは両方とも root になっています(このアカウント とパスワードは,config.xml で変更できます).この ログインした状態で“HELP”とタイプすると,実行 可能なコマンドの一覧が簡単な説明とともに表示され ます.
メールアカウントを追加するために,次のコマンド をタイプします.

adduser test testpw<ENTER>
User test added


これで,アカウント名 test,パスワード testpw のユ ーザが追加されました.quit によって telnet が終了し ます.なお,Jamesを終了するときは,この telnet 上 で shutdown と入力します.

shutdown<ENTER>
shutting down, bye bye

この telnet を使用して,アカウントの作成のほかに, パスワード変更およびアカウント削除,alias の設定と 解除,転送設定等も行うことができます(“HELP” で調べることができます).
作成したメールアカウントに,メールが送られるこ とを確認してみてください.デフォルトの設定では, localhost またはローカルホスト名あてのメールしか受 け取りませんので, メールソフトを設定して test@localhost あてにメールを送信してください (config.xmlの servername タグの追加で,localhost あ て以外のメールも受信できるようになります).James がメールを受信すると, スプールディレクトリ ($PHOENIX_HOME/apps/james/var/mail/inboxes/test/) に,受信したメールが保管されます.James が 正しく動作していれば,メールソフトを使用して POP3 でテスト送信したメールを受信することもできるはず です.



 << prev  ↑index  next >>


このドキュメントに関するご意見、ご要望などはまで。


Copyright (C) 2003-2005 Visards, Inc. All Rights Reserved.