メールアプリケーションをつくろう 「JAMES Server」のインストール
メールひとつで、ブログにエントリーを投稿したり、画像をアップロードできたりと、いろいろなことができますよね。
また、アイディアややらなければならない仕事、ちょっとしたメモにして自分にメールをすることで、備忘録として利用するなんて使い方もあります。
本来のメッセージを誰かに送るという目的以外にも、工夫するといろいろなことに役立ちそうです。
なんといっても、さっと書いてどこからでも送れるという、お手軽感がいいですよね。
そんなお手軽なメールを利用したサービス/アプリケーションの作成って、おもしろそうじゃないですか?
そのためには、
○メールを受け取る
○メールの内容によって処理を振り分ける
○メールを処理する
といった仕組みが必要です。
で、上に上げたような要求を満たすフレームワークのようなものがないか探してみました。
するとあるもんですねぇ(笑)、「JAMES Project」です。
「「JAMES Project」の「 Server」と「Mailet API」を利用すると、なんだかできそうな雰囲気です。
早速、ためしてみることに・・・。
まずは、「JAMES Server」のインストールの紹介です。
(1)ソースコード or バイナリーファイルを入手する
こちらのダウンロードサイトから、最新版の「JAMES」をダウンロードします。
今回は、「james-binary-3.2.1.zip」をダウンロードしました。
(2)インストールする
JAMESを利用するためには、バージョン1.4以上のJavaの実行環境が必要です。
また、環境変数JAVA_HOMEが設定されている必要があります。
インストールは、展開したファイルを適当なディレクトリに配置すれば完了です。
以下では、インストールしたディレクトリを"JAMES_HOME"で表します。
(a)JAMESを起動する
以下のスクリプトファイルを実行します。
JAMES_HOME/bin/run.bat (Windows系)
JAMES_HOME/bin/run.sh (Unix系)
JAMESに設定に必要なファイルが展開されます。
(b)JAMESを一度終了して、設定ファイルを編集する
基本的な設定は、「JAMES_HOME/apps/james/SAR-INF/config.xml」で行います。
設定ファイルの中に、何を設定する項目なのかがしっかりコメントされています。
設定にあたっては、それらのコメントとこちらのページが参考になります。
*ちょっとだけ設定
ユーザアカウントを作成するときに、RemoteManagerを利用するので、
RemoteManagerの設定だけはきちんとしておきます。
下の行でアドミニストレータの設定をしています。
ここで、「login」と「password」を変更しておくことをおすすめします。
<account login="root" password="root"/> (デフォルト)
ユーザやメールのデータの保管場所についても、適宜変更してください。
databaseとファイルどちらも利用できるみたいです。
(3)ユーザアカウントを作成する
JAMESを起動します。
JAMESサーバにtelnetします。
telnet [serverName] [port]
[servarName]はサーバ名、
[port]はRemoteManagerサービスが提供されているポート番号(デフォルトでは4555)です。
telnetすると次のような画面が表示されますので、アドミニストレータとして設定したアカウントで
ログインします。
JAMES Remote Administration Tool 2.3.1
Please enter your login and password
Login id:
ログインできると、下のようなコメントが表示されます。
Welcome ○○. HELP for a list of commands
ログインしたら、次のようにして新規ユーザを作成します。
useradd [userName] [password]
作成に成功すると以下のように表示されます。
User [userName] added
サーバから抜けるときは、
quit
です。
(4)メールを送受信する
Thunderbirdでメールの送受信をしてみました。
ばっちりです。
自分(JAMESのドメイン)から自分で送受信ができることと、
自分からgmailへ送信ができることを確認しました。
Thunderbirdの設定は、他のメールサーバを設定するのと同じようにして、
smtpとpopのサーバにJAMESのサーバ名を設定してください。
次回は、本題の「Milet API」の使い方に挑戦です。