Apache James (3.0-beta3) メモ

  • Beta3 の内容なので今後変わる可能性も十分あり。
  • 2.3 から随分変わってる。Avalon さようなら、Spring こんにちは。
  • 設定ファイル config.xml が conf 下の判りやすい場所に移動。ついでにこまかく分割された。

メールリポジトリJDBC上に作成する場合の設定

  • mailrepositorystore.xml では protocol が file と db のものを残す。
    • fileを削ると null リポジトリが作れないとか、いろいろエラーが出て起動せず。
    • mailrepositorystore.xml での指定でリポジトリが一律 DB へ、ファイルへ、という切り替えにはなっていない。あくまで file:// 指定と db:// 指定を処理するクラスの登録ということのようだ。
  • ドキュメントでは 『db://データソース名/テーブル名』と書かれているが嘘。
    • データソース名は事実上無視されている。コネクションは conf/database.properties で指定したものが使われる。よってデータソース名はブランクで 『db:///テーブル名』のようになる。
    • リポジトリ名がついていないと、実際にリポジトリにアクセスした際にエラーになった。実は『db://データソース名/テーブル名/リポジトリ名』にしないといけないらしい。
    • 結局『db:///テーブル名/リポジトリ名』と指定する(リポジトリ名はおまけであまり意味はなさそう)。
    • James が管理に使うテーブル名は JAMES_ がついているので、テーブル名は JAMES_MAILREPOS_xxxx とかにしておく。
      <mailet match="All" class="ToRepository">
        <repositoryPath>db:///JAMES_MAILREPOS_ERROR/ERROR</repositoryPath>
      </mailet>

ローカルドメインとユーザの登録

  • ローカルドメインとユーザの情報がどちらもデフォルトでDB(組み込みDB)に保存されるようになった。
  • ローカルドメイン追加方法。
$JAMES_HOME/bin/james-cli.sh -h localhost adddomain mydomain.jp
$JAMES_HOME/bin/james-cli.sh -h localhost listdomains
  • ユーザの追加方法。
$JAMES_HOME/bin/james-cli.sh -h localhost adduser user@mydomain.jp password
$JAMES_HOME/bin/james-cli.sh -h localhost listusers