在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>[email protected]</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窗口里输入:
telnet 服务器的IP地址 4555

连接到james,输入你的用户名(root),再输入你的密码,回车。登录到james上,添加一个用户,如admin,命令为:
adduser admin admin123

成功的话会提示添加用户成功这样的。

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

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

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

你可能感兴趣的:(apache,linux,xml,XP,SuSE)