在linux上用apache james架设邮件服务器(1)

最近由于项目的需要,要求在服务上实现自己的邮件服务器,上网查了一下,发现一个叫james的,纯java的邮件服务器,于是就下载来试试看,下载后直接解压。我的是for linux版的,也就是james-binary-2.3.1.tar.gz这个,可以到官网那里下。

解压后就上传到服务器上,上传后,登录到服务器,在终端里输入:lsof -i:25来看看25的端口是否已经有人占用了,如果有的话就停了它吧。由于我安装的是suse server 10这个版本,在安装的时候已经选上了email服务器的,所以已经给我安装上了postfix这个邮件服务器,当时在运行james时会的报错,查看了一下错误信息,说是端口已经被占用。上网查了才知道,要先停了postfix才可以。需要停止postfix的话,可以输入postfix stop这个命令。另外后面可以跟start,restart这几个参数的。

如果能正常james的话会显示以下的内容:

Using PHOENIX_HOME: /home/james
Using PHOENIX_TMPDIR: /home/james/temp
Using JAVA_HOME: /usr/jdk1.6.0_06
Running Phoenix:

Phoenix 4.2

James Mail Server 2.3.1
Remote Manager Service started plain:4555
POP3 Service started plain:110
SMTP Service started plain:25
NNTP Service started plain:119
FetchMail Disabled


启动后,就可以再按ctrl+c来退出james了。因为james要运行一次之后才会在你放置james的根目录下的/apps下生成一个james这样的文件夹,在这个文件夹下/SAR-INF/config.xml这样的文件,在对这个config.xml文件里的配置作出以下几个地方的修改:
1,更改你邮件服务器的后缀名,将autodetect及autodetectIP设为false,不自动探测。

<postmaster>Postmaster@aorta-show.com</postmaster>
<servernames autodetect="false" autodetectIP="false"> <servername>aorta-show.com</servername>


2,找到以下这段代码并注释掉

<mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor">
<processor> relay-denied </processor>
<notice>550 - Requested action not taken: relaying denied</notice>
</mailet>


3,找到以下代码解除注释,用来开启验证的。

<authRequired>true</authRequired>


4,找到以下这段代码并注释掉,如果这段不注释的话,就可能会发生只能在内部收发邮件及发送到外网的邮箱中,如163,qq之类的。但不能收到由这些外网邮箱发给你的邮件。这个需要注意

<mailet match="InSpammerBlacklist=dnsbl.njabl.org." class="ToProcessor">
<processor> spam </processor>
<notice>550 Requested action not taken: rejected - see http://njabl.org/ </notice>
</mailet>


5,更改你的管理员密码,默认的管理员用户名是root,密码也是root的。更改为你想设置的问题

<account login="root" password="ilikethegame"/>


6,更改你的dns ip地址:

<dnsserver>
<servers>
<server>你服务器的IP地址</server>
</servers>
<autodiscover>true</autodiscover>
<authoritative>false</authoritative>
<maxcachesize>50000</maxcachesize>
</dnsserver>


其它的就直接使用默认值即可。上传这个修改后的config.xml到linux上,重启james,在终端里输入:
./home/james/bin/run.sh

我的james是放置在home目录下的。如果出现权限不足的问题,可以输入chmod 777 james来更改权限。
运行后没异常则会出现上述的代码。

最后,打开你的客户端,我的是xp系统,在dos窗口里输入:
[code]
telnet 服务器的IP地址 4555
[/code]
连接到james,输入你的用户名(root),再输入你的密码,回车。登录到james上,添加一个用户,如admin,命令为:
[code]
adduser admin admin123
[/code]
成功的话会提示添加用户成功这样的。

然后打开foxmail,新增一个帐户,将邮件服务器的smtp,pop3等设置为你服务器的IP,不用设置端口。pop3的用户为刚设置的admin,再输入密码后,确定退出。(这里为了测试,所以直接用foxmail)

至此,一个以你自己作后缀名的邮件地址已经横空出世了。 :D 赶紧试试吧! :)

当然,这是一个最简单可运行的例子,如果需要连接到数据库及动态的添加用户等实现一个webmail的话,还有N多地方要做的,写这个是为了让自己记住及给一些像我这样的新手来做参考的。如果你有一个更完整的例子,希望你能共享一下,这样,我就可以少足许多弯路了。呵呵!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值