Jamesでは、現在(v2.0a3)、メーリングリストの基本的な機能のみを提供しています。ユーザは、subscribe及びunsubscribeが可能ですが、メッセージやサブスクリプションの調整・変更はできません。
メーリングリストを作成するには、config.xml中のname属性が"root"であるprocessor要素ブロック(訳注:<processor name="root">...</processor>部分の事です)に措いて、最後のmailetブロックの前に以下のように記述する必要があります。
 |  |  |
 |
<mailet match="CommandForListserv=james@localhost"
class="AvalonListservManager">
<repositoryName>list-james</repositoryName>
</mailet>
|  |
 |  |  |
これにより、以下のメールアドレスに送られたコマンド用メールを読み取ります
- james-on@localhost :メールの送信者をsubscribe(リストに追加)します
- james-off@localhost :メールの送信者をunsubscribe(リストから削除)します
そして
 |  |  |
 |
<mailet match="RecipientIs=james@localhost" class="AvalonListserv">
<membersonly> false </membersonly>
<attachmentsallowed> true </attachmentsallowed>
<replytolist> true </replytolist>
<repositoryName>list-james</repositoryName>
<subjectprefix>JamesList</subjectprefix>
</mailet>
|  |
 |  |  |
これで、現在のサブスクライバ(購読者)に対してメールが配布されます。
上記の他、<users-store>ブロック(通常はconfig.xmlの末端の近く)にて、レポジトリを加える必要があります。データベースを利用する場合は、以下のようになります。
 |  |  |
 |
<repository name="list-james"
class="org.apache.james.userrepository.ListUsersJdbcRepository"
destinationURL="db://maildb/lists/list-james">
<sqlFile>file://conf/sqlResources.xml</sqlFile>
</repository>
|  |
 |  |  |
データベース利用者は、<repository>のdestinationURL属性値のdata-source(訳注:上記例では、maildb)が設定されている事を確認する必要があります。
ファイルシステムを利用する場合は、以下のようになります。
 |  |  |
 |
<repository name="list-james"
class="org.apache.james.userrepository.UsersFileRepository">
<destination URL="file://var/lists/list-james/"/>
</repository>
|  |
 |  |  |
Jamesを再起動し、james-on@localhost へメールを送れば、subscribeされます。
データベースにおけるテーブル、あるいはファイルシステムに措けるディレクトリは自動的に作成されます。
データベース利用者は、SQLを使って(従って、SQLクエリを走らせる事の出来るアプリケーションからでも)ユーザのレポジトリを操作可能です。
回答者:Danny Angus