失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Linux james邮件服务器的搭建

Linux james邮件服务器的搭建

时间:2024-07-20 18:07:16

相关推荐

Linux james邮件服务器的搭建

Linux james邮件服务器安装

由于最近需要搭建邮件服务器,考虑到Linux服务器比较稳定所以系统选择了redhat5.4 64位的,邮件服务端用的是ApacheJames

前提工作:

1.由于Apache James邮件服务需要用到1024以下端口,最好使用root用户登录进行部署

2.需要JDK1.5以上版本,JDK的安装在这里我就不细说了,上一篇有JDK的安装,James的时候请确保JDK环境变量已经设置好

3.James启动时,其SMTP服务默认在25端口启动,POP3服务默认在110端口启动,NNTP服务默认在119端口启动,请确保这些端口未被占用。Linux下查看端口被占用的命令是netstat �Ctulnp | grep 25 ,如果端口被占用了,如果25端口被占用了一般就是sendmail占用的,可以使用service sendmail stop和service sendmail start停止占用和启动端口。或者使用lsof -i:25

查看端口使用情况,这种情况就说明25端口已经被占用了,

一般RedHat的系统安装时都会默认安装了sendmail邮件服务,因此在部署Apache James时,需要把sendmail关闭。可以通过以下方法来关闭sendmail,以防止系统重启时又自动启动sendmail服务。

1.用chkconfig --list sendmail命令查看sendmail的情况:

[root@localhost~]# chkconfig --list sendmail

sendmail 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

2.通过chkconfig sendmail off命令来关闭sendmail的启动:

[root@localhost~]# chkconfig sendmail off

3.这时再用chkconfig --list sendmail命令可以查看到sendmail的所有启动级别都已经关闭了:

[root@localhost~]# chkconfig --list sendmail

sendmail 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭

这样,即使重新启动Linux系统,sendmail服务也不会自动启动了。

前期工作做完了,接下来就是部署ApacheJames了。

4.下载apache-james-2.3.2.tar.gz安装包,我放在/opt/webservice目录下

tar �Czxvf apache-james-2.3.2.tar.gz解压安装包

5.进入james-2.3.2/bin目录执行run.sh生成james的配置文件config.xml

首先需要执行chmod +x run.sh phoenix.sh给这两个文件加上可执行权限,

6.执行sh run.sh

UsingPHOENIX_HOME: /opt/webservice/james-2.3.2

Using PHOENIX_TMPDIR: /opt/webservice/james-2.3.2/temp

Using JAVA_HOME:/usr/java/jdk1.7.0_60

Running Phoenix:

Phoenix4.2

James Mail Server 2.3.2

Remote Manager Service started plain:4555

POP3 Service started plain:110

SMTP Service started plain:25

NNTP Service started plain:119

FetchMail Disabled

出现如上信息证明james启动成功

6.按Ctrl + C退出,编辑config.xml文件,生成的config.xml文件放在

../james-2.3.2/apps/james/SAR-INF目录下,关于config.xml的修改网上有很多资料,在这里我只说我的那部分好吧,

A).找到<servernames autodetect="true"autodetectIP="true">设成

autodetect="false" autodetectIP="false"

autodetct设为true会自动侦测你的主机名,设成false会用你指定的server name

autodetectIP设为true会为你的servername加上ip

B).设置servername将默认的为localhost改成你的server名字如:

<servername></servername>

然后修改Linux的hosts主机设置文件:

[root@localhostSAR-INF]# vi /etc/hosts

在打开的文件添加一行,然后保存:

192.168. localhost

注意:第一个为IP地址第二个为主机域名第三个为主机名称

提示:名字后面应该要加上.com或者.cn这样163等邮件服务器才不会拒绝的

C)注释掉

<mailetmatch="RemoteAddrNotInNetwork=127.0.0.1"class="ToProcessor">

<processor> relay-denied </processor>

<notice>550 - Requested action not taken: relayingdenied</notice>

</mailet>

D)配置DNS Server,先通过netstat命令查看dns配置

[root@localhost SAR-INF]# netstat -rn

Kernel IP routing table

DestinationGateway Genmask FlagsMSS Window irtt Iface

192.168.5.00.0.0.0 255.255.255.0 U0 0 0 eth0

169.254.0.00.0.0.0 255.255.0.0 U0 0 0 eth0

0.0.0.0 192.168.5.1 0.0.0.0 UG 0 0 0 eth0

找到<dnsserver>,在<servers>里最前面添加一行:<server>192.168.5.0</server>

同时设置autodiscover为false

<dnsserver>

<servers>

<!--Enter ip address of your DNS server, one IP address per server-->

<!-- element. -->

<server>192.168.5.0</server>

<!--

<server>127.0.0.1</server>

-->

</servers>

<!-- Change autodiscover to false if you would like to turn offautodiscovery -->

<!-- and set the DNS servers manually in the <servers> section-->

<autodiscover>false</autodiscover>

<authoritative>false</authoritative>

<!-- Maximum number of entries to maintain in the DNS cache -->

<maxcachesize>50000</maxcachesize>

</dnsserver>

E)修改James数据库连接字符串

<data-sourcename="maildb"class="org.apache.james.util.dbcp.JdbcDataSource">

<driver>oracle.jdbc.driver.OracleDriver</driver>

<dburl>jdbc:oracle:thin:@192.168.1.17:1521:hello</dburl>

<user>hello</user>

<password>kitty</password>

<keep-alive>select 1 from dual</keep-alive>

<testOnBorrow>true</testOnBorrow>

<testOnReturn>true</testOnReturn>

<max>50</max>

</data-source>

以上用的是oracle数据库,如果是其他数据库,则需要修改为对应的数据库连接驱动,以及数据库用户信息。

注意:一定要记得配置<keep-alive>,该参数的意思是,在使用连接池的连接之前,是否需要验证该连接是否有效。之前,我没有设置该参数,结果总是出现收不到邮件的问题。

4)优化一下James内存,在../james-2.3.2/bin/phoenix.sh加入:

# Set Heap Size -0818,fix OutOfMemory bug while transportingbig mail

PHOENIX_JVM_OPTS="$PHOENIX_JVM_OPTS -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M"

修改../james-2.3.2/conf/wrapper.conf的jvm配置,设置初始内存128M,最大内存512M

# Initial Java Heap Size (in MB)

#wrapper.java.initmemory=16

wrapper.java.initmemory=128

# Maximum Java Heap Size (in MB)

#wrapper.java.maxmemory=64

wrapper.java.maxmemory=512

5)复制数据库驱动到../james-2.3.2/lib目录下,我用的是oracle数据库,驱动包为:ojdbc14.jar

6)重启Apache James服务。

登录:telnet localhost 4555

第一次登录用户名和密码都是root

7)最后,进入邮件系统全局管理,将系统的域名改为上述的server name。

如果觉得《Linux james邮件服务器的搭建》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。