论坛首页 综合技术论坛

Apache James配置个人笔记(完整解决DNS问题)

浏览 10843 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-10-06  

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 的话就不会通过验证,这种方式就禁止了不法人士使用啦!

 

修改 root 口令。 account login="root" password="mypassword"

 

启动 James( 使用 Phoenix.sh)

./Phoenix.sh start

 

最后使用 telnet 添加邮件用户 ( 具体命令在 telnet 后输入 help 查看 )

telnet server-name 4555

 

 

   发表时间:2010-10-09  
我自己做了一个 但是无法访问外部邮件,只能在本邮件服务器上收发,按照网上很多方案都试过了还是不行,兄台能给点意见吗?
0 请登录后投票
   发表时间:2010-10-25  
bulktree 写道
我自己做了一个 但是无法访问外部邮件,只能在本邮件服务器上收发,按照网上很多方案都试过了还是不行,兄台能给点意见吗?

DNS写了什么?
0 请登录后投票
   发表时间:2010-10-26  
我自己做了一个,现在发163,QQ没有问题,可gmail就是收不到。好像是授权的问题:
Error message:
530 5.7.1 Authentication Required。
楼主有没有遇到这样的问题呢?
0 请登录后投票
   发表时间:2010-11-03  
不知道楼主有没有碰到过一天发送一定量后,就发送不了,应该不是接收服务器的问题(从接收服务器提供的统计数据知道),而且在james的日志文件mailet中,确实是没有发送成功,只是没有具体的错误提示只有 “Permanent exception delivering mail (Mail1288784178843-5141-to-qq.com: ” 后面就没有信息了
0 请登录后投票
   发表时间:2010-11-04  
这个MX我还真的不知道怎么配,能详细点么
0 请登录后投票
   发表时间:2011-05-19  
配置域名的MX能说得更详细些么。。
0 请登录后投票
   发表时间:2011-05-24  
suwey 写道
配置域名的MX能说得更详细些么。。

http://dl.iteye.com/upload/attachment/486739/c146a5f9-7148-37a1-8f81-c8027c044c4c.png
这是我配置成功后的效果,文字写可能不好理解,看图吧
  • 大小: 7.5 KB
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics