首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

开源邮件服务器-JAMES之系统筹建

2012-07-04 
开源邮件服务器-JAMES之系统搭建James3.xApache James(Java Apache Mail Enterprise Server)是Apache组织

开源邮件服务器-JAMES之系统搭建
James3.x

     Apache James(Java Apache Mail Enterprise Server)是Apache组织的子项目之一,完全采用纯Java技术开发,实现了SMTP、POP3与NNTP等多种邮件相关协议。
      目前James有稳定版还stable版本2.3.2和beta版beta3.James2.x版本开发于Avalon(Java Apache Server Framework)框架之上,James3.x开发自Spring框架之上。同时为了解决性能问题,在James3.x上加入Queue机制(ActiveMQ)进行邮件的异步处理。同时3.x配置文件对2.x的配置文件进行了拆分,故James2.x和James3.x有较大的区别。本文将以项目中使用的版本James Server 3.0-beta3的环境配置进行描述。

一、简单安装

1.OS:Ubuntu11.04

2.JDK1.6+,(jdk-6u26-linux-i586.bin)
           
a.将jdk安装到usr下面: /usr/jdk1.6.0_26/

b.配置/etc/profile,如下:

export JAVA_HOME=/usr/jdk1.6.0_26export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/libexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

c.使配置文件生效:
root@master# source /etc/profile

d.校验:
root@master:/# java -versionjava version "1.6.0_26"Java(TM) SE Runtime Environment (build 1.6.0_26-b03)Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode)root@master:/#

3. James3 安装

a.下载:james-3.0-beta3|http://apache.etoak.com//james/apache-james/3.0beta3/apache-james-3.0-beta3-app.tar.gz

b.解压并将解压的文件cp到要安装的路径

tar -zxvf apache-james-3.0-beta3-app.tar.gz root@master#:  cp -rf apache-james-3.0-beta3   /opt/james3.0

c.配置/etc/profile,如下: 
 
export JAVA_HOME=/usr/jdk1.6.0_26export JAMES_HOME=/opt/james3.0export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAMES_HOME/libexport PATH=$JAMES_HOME/bin:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin


d.使配置文件生效
  
root@master# source /etc/profile


4.James3 简单运行

a. 启动服务
 
 root@master:/opt/james3.0/bin# ./james startStarting Apache James Server...Removed stale pid file: /opt/james3.0/bin/../var/james.pid


  b.查看启动信息,到JAMES_HOME/log目录
  
root@master:/opt/james3.0/log# tail -f james-server.logINFO  19:54:57,568 | org.apache.james.container.spring.Main | Apache James Server is successfully started in 30163 milliseconds.

  看到【Server is successfully started】证明已经启动。

5.James3 简单测试。

  a.添加domain
root@master:/opt/james3.0/bin# ./james-cli.sh -h localhost -p 9999 adddomain alibaba.cnadddomain command executed sucessfully in 129 ms.

b.添加user
root@master:/opt/james3.0/bin# ./james-cli.sh -h localhost -p 9999 adduser kevin@alibaba.cn kevinadduser command executed sucessfully in 150 ms.root@master:/opt/james3.0/bin#


6. 好的,目前James3.x的安装已经成功。下面进行一些客户化配置。

        
二、定制配置
1.James3.x目前包含的配置文件
* database.properties     :  数据库属性配置(当以DB作为Repository的时候应用)   * dnsservice.xml            :配置DNS* domainlist.xml            :配置域列表* fetchmail.xml              :取邮件* imapserver.xml            :IMAP协议服务配置* jcr-repository.xml        :配置Jackrabbit repository* jmx.properties             :配置JMX参数,用于监控                  * lmtpserver.xml            :配置 IMTP协议服务* log4j.properties           :日志配置* mailbox.xml                :邮件箱配置* mailetcontainer.xml     :Maillet容器参数配置* mailrepositorystore.xml   :邮件repository配置(DB JCR MEM etc..)* pop3server.xml           :  配置POP3协议服务* recipientrewritetable.xml :暂不知是什么作用 * smtpserver.xml             :配置SMTP协议服务* sqlResources.xml         :配置Repository为DB时候的表结构* usersrepository23.xml    :暂不知于usersrepository.xml区别* usersrepository.xml        :用户Repository配置

2.更改James3.x的Repository,以usersrepository为例,我们将James的用户信息存储到数据库Mysql中:

a.修改dnsservice.xml
<dnsservice><servers><server>合法的DNS1</server><server>合法的DNS2</server></servers><autodiscover>false</autodiscover> <authoritative>true</authoritative> <maxcachesize>50000</maxcachesize></dnsservice>


b.修改 domainlist.xml
<domainlist name="code"><smtpserver enabled="true"><bind>0.0.0.0:25</bind><connectionBacklog>200</connectionBacklog><tls socketTLS="false" startTLS="false"></tls><connectiontimeout>360</connectiontimeout><connectionLimit> 0 </connectionLimit><connectionLimitPerIP> 0 </connectionLimitPerIP><authorizedAddresses>192.168.0.0/255.255.255.0, 127.0.0.0/8</authorizedAddresses>---》 添加不需要验证的地址<authRequired>true</authRequired> ---》验证非【192.168.0.0/255.255.255.0, 127.0.0.0/8】的邮件。<verifyIdentity>true</verifyIdentity><maxmessagesize>0</maxmessagesize><addressBracketsEnforcement>true</addressBracketsEnforcement><handlerchain enableJmx="true"><handler/><handler/>      </handlerchain>           </smtpserver>

d.修改database.properties,如下:
database.driverClassName=com.mysql.jdbc.Driverdatabase.url=jdbc:mysql://localhost:3306/mail --》mail是maysql中创建用于存放James数据的数据库名database.username=root --》Mysql的用户名database.password=javaman -》Mysql用户名对应的密码vendorAdapter.database=MYSQLopenjpa.streaming=false

e.下载将Mysql的驱动mysql-connector-java-5.0.8-bin.jar|http://www.java2s.com/Code/JarDownload/mysql-connector-java-5.0.8-bin.jar.zip添加到JAMES_HOME/lib中。

3.重新启动James
root@master:/opt/james3.0/bin# ./james restartStopping Apache James Server...Stopped Apache James Server.Starting Apache James Server...root@master:/opt/james3.0/bin#


查看Mysql数据库,会发现James3.x已经建立好了表结构如下:

+-------------------------+| james_domain            || james_mail              || james_mail_property     || james_mail_userflag     || james_mailbox           || james_recipient_rewrite || james_subscription      || james_user              || mytable                 || openjpa_sequence_table  |+-------------------------+

4.添加域信息和用户信息:
a.添加domain
root@master:/opt/james3.0/bin# ./james-cli.sh -h localhost -p 9999 adddomain alibaba.cnadddomain command executed sucessfully in 129 ms.

b.添加user
root@master:/opt/james3.0/bin# ./james-cli.sh -h localhost -p 9999 adduser kevin@alibaba.cn kevinadduser command executed sucessfully in 150 ms.root@master:/opt/james3.0/bin#


c.查看mysql 数据库信息:
mysql> select * from james_domain+-------------+| DOMAIN_NAME |+-------------+| alibaba.com |+-------------+

mysql> mysql> select * from james_user+-----------------------------| USER_NAME         | PASSWORD_HASH_ALGORITHM | PASSWORD| version |----------------[]-------------------+------------------------------| kevin@alibaba.com | MD5                     | 9d5e3ecdeb4cdb7acfd63075ae046672|       1 || ndot@alibaba.com  | MD5                     | 03ea35b8ddb76922d3f8e4ea9323ffb5|       1 |+-----------------------------

5.至此完成了对James3.x Repository的配置和测试。

热点排行