1.参数配置
第一次运行bin下的run.bat,会在apps下生成james文件夹,打开SAR-INF下的config.xml,该文件包含对james邮件服务器参数的配置,其中包括邮件服务器名,DNS,邮件用户和邮件文件夹的数据库配置等。
1.1邮件服务器名配置
<postmaster>Postmaster@linleran</postmaster>
<servername>linleran</servername>
1.2收件夹配置
收件夹可以指定在james的文件下,也可以指定存放到数据库,或两者都存放。
1.将收件夹下的邮件存放在james目录下的文件里
<inboxRepository>
<repository destinationURL="file://var/mail/inboxes/" type="MAIL"/>
</inboxRepository>
2.将收件夹下的邮件存放在数据库里
<inboxRepository>
<repository destinationURL="db://maildb/inbox/" type="MAIL"/>
</inboxRepository>
3.收件夹下的邮件同时存放在数据库和文件里
<inboxRepository>
<repository destinationURL="dbfile://maildb/inbox/" type="MAIL"/>
</inboxRepository>
将收件夹指定到数据库,需要引入数据库的jdbc driver,将jdbc放到james的根目录下的lib里。同时需要配置数据源<data-sources>,以oracle为例,先在oracle数据库建立表空间和用户(用户名:llr,密码:llr),配置如下:
<data-source name="maildb" class="org.apache.james.util.dbcp.JdbcDataSource">
<driver>oracle.jdbc.driver.OracleDriver</driver>
<dburl>jdbc:oracle:thin:@192.168.1.199:1521:linewell</dburl>
<user>llr</user>
<password>llr</password>
<max>20</max>
</data-source>
如果是mysql数据库,先建一个假设以james为名的数据库,配置如下:
<data-source name="maildb" class="org.apache.james.util.dbcp.JdbcDataSource">
<driver>org.gjt.mm.mysql.Driver</driver>
<dburl>jdbc:mysql://localhost/james</dburl>
<user>root</user>
<password></password>
<max>20</max>
</data-source>
1.3临时邮件文件夹
<spoolRepository>
<repository destinationURL="db://maildb/spool/spool" type="SPOOL"/>
</spoolRepository>
1.4用户数据存储的配置<users-store>
1.使用数据库存储
<repository
name="LocalUsers"
class="org.apache.james.userrepository.JamesUsersJdbcRepository" destinationURL="db://maildb/users">
<sqlFile>file://conf/sqlResources.xml</sqlFile>
</repository>
2.使用james本地文件存储
<repository
name="LocalUsers"
class="org.apache.james.userrepository.UsersFileRepository">
<destination URL="file://var/users/"/>
</repository>
<users-store>的配置是当用户修改好配置,第二次起动后,用conf文件夹下的Resources.xml在数据库里生成users, inbox, spool表,即表的初始化。
james 附件大小设置
<!-- This sets the maximum allowed message size (in kilobytes) for this -->
<!-- SMTP service. If unspecified, the value defaults to 0, which means no limit. -->
<maxmessagesize>0</maxmessagesize>