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,如下: 

Java代码   收藏代码
  1. export JAVA_HOME=/usr/jdk1.6.0_26  
  2. export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib  
  3. export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin  

c.使配置文件生效: 
Java代码   收藏代码
  1. root@master# source /etc/profile  

d.校验: 
Java代码   收藏代码
  1. root@master:/# java -version  
  2. java version "1.6.0_26"  
  3. Java(TM) SE Runtime Environment (build 1.6.0_26-b03)  
  4. Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode)  
  5. 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到要安装的路径 

Java代码   收藏代码
  1. tar -zxvf apache-james-3.0-beta3-app.tar.gz   
  2. root@master#:  cp -rf apache-james-3.0-beta3   /opt/james3.0  

c.配置/etc/profile,如下:  
 
Java代码   收藏代码
  1. export JAVA_HOME=/usr/jdk1.6.0_26  
  2. export JAMES_HOME=/opt/james3.0  
  3. export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAMES_HOME/lib  
  4. export PATH=$JAMES_HOME/bin:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin  


d.使配置文件生效 
  
Java代码   收藏代码
  1. root@master# source /etc/profile  


4.James3 简单运行 

a. 启动服务 
 
Java代码   收藏代码
  1.    
  2. root@master:/opt/james3.0/bin# ./james start  
  3. Starting Apache James Server...  
  4. Removed stale pid file: /opt/james3.0/bin/../var/james.pid  


  b.查看启动信息,到JAMES_HOME/log目录 
  
Java代码   收藏代码
  1. root@master:/opt/james3.0/log# tail -f james-server.log  
  2. INFO  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 
Java代码   收藏代码
  1. root@master:/opt/james3.0/bin# ./james-cli.sh -h localhost -p 9999 adddomain alibaba.cn  
  2. adddomain command executed sucessfully in 129 ms.  

b.添加user 
Java代码   收藏代码
  1. root@master:/opt/james3.0/bin# ./james-cli.sh -h localhost -p 9999 adduser kevin@alibaba.cn kevin  
  2. adduser command executed sucessfully in 150 ms.  
  3. root@master:/opt/james3.0/bin#  


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

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

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

a.修改dnsservice.xml 
Xml代码   收藏代码
  1. <dnsservice>  
  2. <servers>  
  3. <server>合法的DNS1</server>  
  4. <server>合法的DNS2</server>  
  5. </servers>  
  6. <autodiscover>false</autodiscover>   
  7. <authoritative>true</authoritative>   
  8. <maxcachesize>50000</maxcachesize>  
  9. </dnsservice>  


b.修改 domainlist.xml 
Xml代码   收藏代码
  1. <domainlist class="org.apache.james.domainlist.jpa.JPADomainList"> --使用数据库进行存储  
  2. <autodetect>true</autodetect>  
  3. <autodetectIP>true</autodetectIP>  
  4. <defaultDomain>alibaba.com</defaultDomain> ---添加一个默认的domain,测试用户也将在该domain下面。  
  5. </domainlist>  


c.修改 smtpserver.xml 
Xml代码   收藏代码
  1. <smtpserver enabled="true">  
  2. <bind>0.0.0.0:25</bind>  
  3. <connectionBacklog>200</connectionBacklog>  
  4. <tls socketTLS="false" startTLS="false">  
  5. </tls>  
  6. <connectiontimeout>360</connectiontimeout>  
  7. <connectionLimit> 0 </connectionLimit>  
  8. <connectionLimitPerIP> 0 </connectionLimitPerIP>  
  9. <authorizedAddresses>192.168.0.0/255.255.255.0, 127.0.0.0/8</authorizedAddresses>---》 添加不需要验证的地址  
  10. <authRequired>true</authRequired> ---》验证非【192.168.0.0/255.255.255.0, 127.0.0.0/8】的邮件。  
  11. <verifyIdentity>true</verifyIdentity>  
  12. <maxmessagesize>0</maxmessagesize>  
  13. <addressBracketsEnforcement>true</addressBracketsEnforcement>  
  14. <handlerchain enableJmx="true">  
  15. <handler/>  
  16. <handler/>        
  17. </handlerchain>             
  18. </smtpserver>  

d.修改database.properties,如下: 
Java代码   收藏代码
  1. database.driverClassName=com.mysql.jdbc.Driver  
  2. database.url=jdbc:mysql://localhost:3306/mail --》mail是maysql中创建用于存放James数据的数据库名  
  3. database.username=root --》Mysql的用户名  
  4. database.password=javaman -》Mysql用户名对应的密码  
  5. vendorAdapter.database=MYSQL  
  6. openjpa.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 
Java代码   收藏代码
  1. root@master:/opt/james3.0/bin# ./james restart  
  2. Stopping Apache James Server...  
  3. Stopped Apache James Server.  
  4. Starting Apache James Server...  
  5. root@master:/opt/james3.0/bin#  


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

Java代码   收藏代码
  1. +-------------------------+  
  2. | james_domain            |  
  3. | james_mail              |  
  4. | james_mail_property     |  
  5. | james_mail_userflag     |  
  6. | james_mailbox           |  
  7. | james_recipient_rewrite |  
  8. | james_subscription      |  
  9. | james_user              |  
  10. | mytable                 |  
  11. | openjpa_sequence_table  |  
  12. +-------------------------+  

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

b.添加user 
Java代码   收藏代码
  1. root@master:/opt/james3.0/bin# ./james-cli.sh -h localhost -p 9999 adduser kevin@alibaba.cn kevin  
  2. adduser command executed sucessfully in 150 ms.  
  3. root@master:/opt/james3.0/bin#  


c.查看mysql 数据库信息: 
Java代码   收藏代码
  1. mysql> select * from james_domain  
  2. +-------------+  
  3. | DOMAIN_NAME |  
  4. +-------------+  
  5. | alibaba.com |  
  6. +-------------+  

Java代码   收藏代码
  1. mysql> mysql> select * from james_user  
  2. +-----------------------------------------------------------------  
  3. | USER_NAME         | PASSWORD_HASH_ALGORITHM | PASSWORD| version |  
  4. ----------------[]-------------------+------------------------------  
  5. | kevin@alibaba.com | MD5                     | 9d5e3ecdeb4cdb7acfd63075ae046672|       1 |  
  6. | ndot@alibaba.com  | MD5                     | 03ea35b8ddb76922d3f8e4ea9323ffb5|       1 |  
  7. +-----------------------------------------------------------------  

5.至此完成了对James3.x Repository的配置和测试。  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值