日期:2014-05-17  浏览次数:21217 次

apache james DNS配置
p { margin-bottom: 0.08in; }

经过一番的辛苦努力,终于把James 配置搞定啦,好记性不如烂笔头啊,赶紧记下我的成功经过,以备以后查阅!



首先要做的就是配置域名的MX 记录啦:

先添加一条A记录:

mail.abc.com 指向 你的服务器IP!

然后添加域名的MX 记录,指向mail.abc.com A 记录( 即域名MX 记录的值为mail.abc.com).

OK ,域名的配置就完成啦!



接下来安装配置James :

James 不需要编译安装,解压即可以使用,把james 下载来后,必须先启动一下!

进入James 根目录下的bin 目录,启动:

127.0.0.1[bin]$ ./run.sh

Log 如下:

127.0.0.1[bin]$ ./run.sh



Using PHOENIX_HOME: /usr/local/james-2.3.2



Using PHOENIX_TMPDIR: /usr/local/james-2.3.2/temp



Using JAVA_HOME: /home/java/jdk1.6.0_11



Running Phoenix:







Phoenix 4.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



JVM exiting abnormally. Shutting down Phoenix.



然后按Ctrl+C 停止。

第一次运行后,系统会在 apps 目录下面生成一些初始化的配置文件。如果第一次运行有问题,用 netstat 检查一下是否有系统默认的端口被占用了,比如 110,25 等。



进入配置文件目录修改config.xml 文件:

127.0.0.1 [SAR-INF]$ pwd



/usr/local/james-2.3.2/apps/james/SAR-INF



127.0.0.1 [SAR-INF]$ vi config.xml

查找替换所有的 localhost 为你的域名,比如 abc.com

查找所有 autodetect 属性,修改为 false 。 AutodetectIP 也设为 false.

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



配置 DNS Server ,由于我未配置自己的 DNS 服务器,所以使用 Google 的 Public DNS :

<dnsserver>
        <servers>
        <server>8.8.8.8</server>         

        <server>8.8.4.4</server>        
</servers>
</dnsserver>

设置 autodiscover 为 false

注意 ,设置 DNS 这步很重要,发送邮件不成功的问题经常会出在这里!

有些文章说 ping 域名提供商管理设置的域名 DNS 来获得 IP ,我试过,这种方法基本上是不行了,所以我使用 Google 的 Public DNS 。

当然,也可以自己做 DNS 服务器,使用 Bind 则可,但其麻烦程度不敢苟同,不建议新手使用!



配置 smtp server , pop3 server 等
查找所有 myMailServer, 替换为你的域名。如:
<helloName autodetect="false">myMailServer</helloName> ,将 myMailServer 修改为你的域名。比如: abc.com



注释以下的语句:

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


打开 smtp 认证
<authRequired>true</authRequired>

smtp 认证的作用在于不让未能授权的人使用你的邮件服务器发送垃圾邮件,在 <servername></servername> 里指定哪些域名可以使用这个邮件服务器,如:

<servername>abc.com</servername>

<servername>abc.com.cn</servername>

则当发送人地址为 XXX.abc.com 或者 XXX.abc.com.cn 时才能通过,如果写成 XXX.bbc.com 的话就不会通过验证,这种方式就禁止了不法人士使用啦!