三、用户信息的数据库存储
James邮件用户的用户信息默认保存在apps\james\var\users目录下,通过修改配置文件apps\james\SAR-INF\config.xml,可以把用户信息保存到数据库中,配置方法如下:
第一步:在MySQL中新建一个数据库mail,用户名root,密码为空;
第二步:打开config.xml,找到<users-store>这一项,此面默认的内容为:
<repository name="LocalUsers" class="org.apache.james.userrepository.UsersFileRepository">
<destination URL="file://var/users/"/>
</repository>
需要修改为:
<repository name="LocalUsers" class="org.apache.james.userrepository.JamesUsersJdbcRepository" destinationURL="db://maildb/users">
<sqlFile>file://conf/sqlResources.xml</sqlFile>
</repository>
通过修改,我们就把用户信息的存储介质从file改成了db,<sqlFile>是指明了在db中的数据表结构及相关数据库信息。
第三步:仍然是config.xml,找到<data-sources>项,默认内容为空,把此项内容修改为:
<data-source name="maildb" class="org.apache.james.util.mordred.JdbcDataSource">
<driver>org.gjt.mm.mysql.Driver</driver>
<dburl>jdbc:mysql://127.0.0.1/mail</dburl>
<user>root</user>
<password></password>
<max>20</max>
</data-source>
<driver>是指MySQL的JDBC驱动,<dburl>指数据库的访问路径,IP后的mail即MySQL中新建数据库名,接下来是用户名、密码及最大连接数。
至此,数据库配置完成,启动James,若正常无误,请通过telnet添加一个新用户,比如adduser holen 123456,然后检查MySQL中的mail数据库,下面将有一个表users,这是James根据file: //conf/sqlResources.xml的内容创建的。
通过以上配置,James的用户信息就可以保存在数据库中了。
