基于 CentOS_6.7_X64 配置 James2.3.2 邮件服务器

来源:互联网 发布:数组下标-1 编辑:程序博客网 时间:2024/06/16 14:18

一、准备工作

1、必须必须必须安装JDK(最好是1.6以上版本,别忘了配置好环境变量JAVA_HOME),因为James是纯Java写的,没有安装JDK那么James铁定跑不起来


2、James 启动时,SMTP服务默认占用25端口,POP3服务默认占用110 端口,NNTP 服务默认占用119端口, 请确保这些端口未被占用,可使用 "netstat -tunlp" 查看端口使用情况


2、安装Mysql5.5(CentOS自带的5.1版先卸载),因为James提供多种邮件存储方式,其中一种是数据库(也是本文所用的存储方式)


3、下载 apache-james-2.3.2.tar.gz  或  apache-james-2.3.2.zip 安装包,可先下好再传到远程CentOS服务器上(本文使用的是腾讯云服务器)


二、安装James2.3.2

1、正式安装之前,请先切换到 root 用户(官网是这么建议的,不切换的话后面会有很多权限问题):



2、进入apache-james-2.3.2.tar.gz 或 apache-james-2.3.2.zip所在目录,解压安装包(.tar.gz使用 tar -zxvfapache-james-2.3.2.tar.gz,.zip使用 unzip apache-james-2.3.2.zip):



3、解压后得到james-2.3.2目录,进入该目录下的bin目录中,给run.sh和phoenix.sh添加可执行权限:



4、运行一次 run.sh脚本(必须要运行一次,否则无法生成全局配置文件config.xml),显示下图说明运行成功(按Ctrol + C结束运行,开始配置生成的config.xml):



5、生成的全局配置文件config.xml在james-2.3.2/apps/james/SAR-INF/中,我们使用vim来修改它:



6、config.xml中需要修改的地方:

6.1 Postmaster@localhost 替换成自己的域名(邮箱后缀):




6.2 autodetect、 autodetectIP的值均改为false,下面的localhost改成自己的域名:




6.3 收件箱数据默认使用文件形式存储,我们使用数据库方式存储(便于以后的数据迁移):




6.4 这里也要切换成数据库:




6.5 找到以下代码,将其注释:



6.6 这里也要切换成数据库:




6.7 还有这里:




6.8 还有这里:




6.9 还有这里:




6.10 添加DNS服务器(使用cat /etc/resolv.conf查看DNS),同时下面都改为false:




6.11 修改服务器的名称(同时autodetect改为false)和超级管理员的密码:




6.12 这里的名称也要改同时autodetect改为false




6.13 还有这里同时autodetect改为false,以及放开下面的authRequired






6.14 指明邮件只能从本服务器或服务器所在局域网发送(这一步改不改都行,建议改):




6.15 nntpserver的名称也改下(同时autodetect改为false):




6.16 对应的数据存储形式也改下:




6.17 用户信息存储方式也改成数据库:




6.18 配置用于连接Mysql数据的data-source:




6.19 最后一步:复制一个Mysql的驱动包 mysql-connector-java-5.1.12-bin.jar 复制到james-2.3.2/lib/中!


7、优化一下James的内存:

7.1 修改james-2.3.2/bin/phoenix.sh,在文件开头加入以下内容:



7.2 修改james-2.3.2/conf/wrapper.conf,将initmemory、maxmemory分别改为128、512




三、配置腾讯云服务器,只需添加一条MX解析记录(有的博客说需要先添加一条A记录:mail.xxx.com,记录值是服务器IP地址;然后再添加一条MX记录:xxx.com,记录值是mail.xxx.com


特别说明:如果没有公有服务器,只是在自己的电脑上玩,那就需要在/etc/hosts中配置伪域名解析记录!


四、配置全部结束,接下来重启James:

1、启动James(说明:这里使用 "nohup sh run.sh &>/dev/null &"方式启动James,使其在后台执行,避免了退出远程客户端James就中断的问题):



2、使用telnet链接登录James(说明:CentOS_6.7_X64需要自己安装telnet),添加、删除用户:



五、使用Foxmail客户端测试James是否可用:

1、手动配置、登录:




2、局域网测试,自己给自己发一封邮件:



3、外网测试,给QQ邮箱发邮件:



4、外网测试,接受QQ邮箱发来的邮件:





至此,一个简单的邮件服务器就配置好了!


0 0