`
AliKevin2011
  • 浏览: 118109 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

开源邮件服务器-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_26
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

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

d.校验:
root@master:/# java -version
java 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_26
export JAMES_HOME=/opt/james3.0
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAMES_HOME/lib
export 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 start
Starting 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.log
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
root@master:/opt/james3.0/bin# ./james-cli.sh -h localhost -p 9999 adddomain alibaba.cn
adddomain 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 kevin
adduser 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 class="org.apache.james.domainlist.jpa.JPADomainList"> --使用数据库进行存储
<autodetect>true</autodetect>
<autodetectIP>true</autodetectIP>
<defaultDomain>alibaba.com</defaultDomain> ---添加一个默认的domain,测试用户也将在该domain下面。
</domainlist>


c.修改 smtpserver.xml
<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.Driver
database.url=jdbc:mysql://localhost:3306/mail --》mail是maysql中创建用于存放James数据的数据库名
database.username=root --》Mysql的用户名
database.password=javaman -》Mysql用户名对应的密码
vendorAdapter.database=MYSQL
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
root@master:/opt/james3.0/bin# ./james restart
Stopping 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.cn
adddomain 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 kevin
adduser 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的配置和测试。
6
1
分享到:
评论
2 楼 pshaoyi 2015-08-31  
环境搭建完了,怎么跟JAVA程序结合起来,通过JAVA代码去创建域名、用户等功能?
1 楼 vern_jang 2012-07-10  
win7系统上可以安装吗?

相关推荐

    Java开源邮件服务器james源码

    Java开源邮件服务器Apache James是基于Java技术构建的一款强大的邮件服务器软件。它的源代码开放,允许开发者深入了解其工作原理,并可根据需求进行定制化开发。Apache James 2.3.2是该项目的某个稳定版本,提供了...

    JAVAMail邮箱服务器搭建步骤详解

    Apache James是基于Java开发的一款开源邮件服务器,它集成了POP3、SMTP等常见的邮件协议,为企业和学习者提供了构建邮件服务器的便利。本文将详细介绍如何在Linux环境下搭建JavaMail邮箱服务器Apache James。 **...

    James搭建邮件服务器

    James 是一个开源的邮件服务器软件,它基于 Java 开发,提供了 SMTP、POP3 和 IMAP 协议的支持,使得用户可以构建自己的邮件系统。本文主要介绍如何使用 James 搭建邮件服务器。 首先,你需要从官方下载地址获取 ...

    apache-james-2.3.2.tar.gz

    Apache James是一款开源的、基于Java实现的邮件服务器,它提供了完整的邮件系统解决方案,包括SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP4(因特网消息访问协议)服务。"apache-james-2.3.2.tar.gz"是这个...

    Apache 邮件服务器 James 简单配置.doc

    ### Apache邮件服务器James简单配置详解 #### 背景与简介 Apache James是Apache软件基金会下的一个开源邮件服务器项目,完全基于Java语言构建,具备高度的可配置性和扩展性,同时确保了系统的稳定性。它提供了包括...

    纯java邮件服务器james配置说明

    Apache James是一款开源的、完全基于Java的邮件服务器,它提供了企业级的邮件处理能力,包括邮件的接收、发送以及管理等功能。这篇配置说明主要指导如何搭建并使用Apache James,以便于构建免费的企业邮件系统。 ...

    apache-james-2.3.2-src.tar.gz

    Apache James是开源的邮件服务器项目,它由Apache Software Foundation维护,提供邮件服务器、POP3、IMAP4和SMTP服务。这个"apache-james-2.3.2-src.tar.gz"文件是一个源代码压缩包,意味着它包含了Apache James ...

    james3.0.0邮件系统

    Apache James邮件系统是一款开源的邮件服务器软件,专为组织和个人提供高效、安全的电子邮件服务。在3.0.0版本中,它集成了最新的技术,提供了丰富的功能和强大的可扩展性,使得用户能够轻松地搭建自己的邮件服务器...

    James+Javamail构建邮件服务

    通过上述步骤,不仅可以搭建起具备基本邮件过滤和操作功能的邮件服务器,还能在此基础上进一步扩展其功能,满足更多复杂的应用需求。Apache James的灵活性和可扩展性,加上Javamail API的强大功能,使得这套组合成为...

    邮件系统,使用james服务器

    在本文中,我们将深入探讨如何利用Apache James服务器搭建自己的邮件系统。Apache James是一个开源、基于Java的邮件服务器,它提供了全面的邮件服务功能,包括SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP4...

    用 Apache James 搭建邮件服务器来收发邮件实践.docx

    对于希望使用开源软件搭建邮件服务器的用户来说,Apache James 是一个非常不错的选择。 #### 二、搭建准备 在正式开始搭建 Apache James 邮件服务器之前,我们需要做一些准备工作: 1. **JDK**:首先确保计算机上...

    CentOS7安装James3.0邮件服务器

    本文将详细介绍如何在 CentOS7 系统上安装 James3.0 邮件服务器,包括 JDK 安装、MySQL 安装、James3.0 安装等步骤。 一、基础环境搭建 1. 安装 CentOS7 系统 首先需要安装 CentOS7 操作系统,这是一个基于 Linux...

    apache james(邮件服务器)配置

    在教学实践中,学生们往往需要使用邮件系统来完成项目作业,尤其是在没有公网连接的环境下,如何搭建一套简易且高效的邮件服务器成为了一项迫切的需求。Apache James 作为一种开源邮件服务器解决方案,提供了高度...

    james3.0邮件服务器及配置说明

    James 3.0 是一个开源、免费的邮件服务器软件,它基于Java技术构建,提供SMTP、POP3和IMAP4等标准邮件服务。这款服务器软件适合小型企业和个人使用,具有高度可定制性和灵活性。在本文中,我们将深入探讨James 3.0 ...

    claros-intouch-2.2-beta+james-2.3.2.1

    另一方面,James 2.3.2.1是一款开源邮件服务器软件,它支持SMTP、POP3和IMAP协议,提供邮件存储和管理服务。James的灵活性和可扩展性使得它在各种规模的企业环境中都能发挥出色。2.3.2.1版本修复了一些已知问题,...

    纯Java的一个邮件服务器

    James是一个开源项目,它提供了一个全面的邮件服务器解决方案,适用于小型到大型的企业环境。 **JavaMail API** JavaMail API是Java平台上的一个标准API,用于处理电子邮件。它提供了创建、发送和接收邮件的功能,...

    Apache james mailserver + Claros inTouch webmail 搭建mail系统,自己总结

    首先,Apache James是开源的Java邮件服务器,它提供邮件存储、传输和管理功能。其核心组件包括Mailet API(处理邮件的过滤和路由)、SMTP服务器、POP3和IMAP4服务器,以及基于JSP的Web管理界面。Apache James 2.3.2...

    邮箱服务器控件james

    总之,James作为一款开源的邮件服务器控件,为那些需要自建邮件系统的组织和个人提供了强大的工具。无论是小规模的企业还是大型的机构,都可以根据自身需求对其进行定制,以满足特定的邮件服务需求。

Global site tag (gtag.js) - Google Analytics