|
|
论坛里有好多贴是关于邮件的,其实好多都是关于邮件客户的,今天再次将我的两个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" root@syd168.com
#echo "Test mail from syd168.com" | mail -s "test mail" root@syd168.net
#echo "Test mail from syd168.com" | mail -s "test mail" 外网邮件
www.syd168.net服务器(域名已经建立)上。
#echo "Test mail from syd168.net" | mail -s "test mail" root@syd168.net
#echo "Test mail from syd168.net" | mail -s "test mail" root@syd168.com
#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 ,不过一定注意以上的几个地方,就一定能够实现自己的邮件系统。当然这样的邮件系统能否安全,请大家自己好好研究。比如垃圾邮件的预防等等。 |
|