|
|
- 论坛里有好多贴是关于邮件的,其实好多问题都出在邮件服务器的配置上,今天再次将我的两个RHAS3配置为2个独立的邮件服务器,并且之间能互相收发邮件,也能向外网发送邮件,由于我市内网,我想如果是外网,则一定能接受外网的信件。我把配置的过程写出来,供大家参考,欢迎大家讨论。
- 由于邮件服务器需要用到域名,所有首先需要配置DNS服务器,当然如果别人的DNS服务器上愿意为你添加指向你的服务器IP的MX纪录更好了,免去配置DNS的麻烦。
- 说明:
- 服务器1:172.16.0.3, 服务器2:172.16.0.4 通过VMware实现同时启动。
- 1。配置DNS服务器,配置在172.16.0.3上,建立两域:syd168.com,syd168.net,并添加两个MX
- syd168.com. IN MX 10 mail.syd168.com.
- syd168.net. IN MX 10 mail.syd168.net.
- 首先保证连个服务器的DNS是可用的。
- 2。配置邮件服务器
- 1)启动邮件相关服务器,如果没安装,需要首先安装。
- #chkconfig ipop3 on
- #chkconfig imap on
- #service xinetd restart
- #vi /etc/mail/sendmail.mc
- 找到包含addr=127.0.0.1的行前添加dnl注释掉,让邮件服务器在服务器IP上监听,而不是缺省的127.0.0.1上监听。
- #m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
- #service sendmail restart
- 2)邮件服务器的测试
- www.syd168.com服务器(域名已经建立)上。
- #echo "Test mail from syd168.com" | mail -s "test mail" [email]root@syd168.com[/email]
- #echo "Test mail from syd168.com" | mail -s "test mail" [email]root@syd168.net[/email]
- #echo "Test mail from syd168.com" | mail -s "test mail" 外网邮件
- www.syd168.net服务器(域名已经建立)上。
- #echo "Test mail from syd168.net" | mail -s "test mail" [email]root@syd168.net[/email]
- #echo "Test mail from syd168.net" | mail -s "test mail" [email]root@syd168.com[/email]
- #echo "Test mail from syd168.com" | mail -s "test mail" 外网邮件
- 我们会发现每个服务器上发往本域的都成功,发往外网的也成功,但发往我们自己建立的域却失败,为什么呢?
- 通过邮件客户(如outlook等)非本地测试,发现只有本域内部可以收发,发往别的都失败。
- 经再三努力,终于找到解决办法。
- 1。mail服务器的主机名一定要在DNS中有解析纪录
- 2。MX的格式一定要写对,如syd168.com域的MX纪录有如下几种写法(注意后面的点!全域名必须最后有个点,表示顶级域名!)
- syd168.com. IN MX 5 mail.syd168.com.
- syd168.com. IN MX 5 mail
- 3。在/etc/mail/local-host-names中加入本地域,对方域和localhost
- 4.对于无法发送的外网邮件,将@后的域部分加入/etc/mail/relay-domains
-
- 上面的任何修改都要重新启动sendmail服务器!如果修改了sendmail.mc就需要运行m4命令重新建立sendmail.cf文件并重新启动邮件服务器。
- 首先配置好DNS,然后很简单的步骤就可以配置好sendmail ,不过一定注意以上的几个地方,就一定能够实现自己的邮件系统。当然这样的邮件系统能否安全,请大家自己好好研究。比如垃圾邮件的预防等等。
复制代码 |
|