LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1495|回复: 1

快速配置sendmail邮件服务器。并实现内外收发!

[复制链接]
发表于 2005-2-12 19:36:17 | 显示全部楼层 |阅读模式

  1.      论坛里有好多贴是关于邮件的,其实好多问题都出在邮件服务器的配置上,今天再次将我的两个RHAS3配置为2个独立的邮件服务器,并且之间能互相收发邮件,也能向外网发送邮件,由于我市内网,我想如果是外网,则一定能接受外网的信件。我把配置的过程写出来,供大家参考,欢迎大家讨论。
  2.       由于邮件服务器需要用到域名,所有首先需要配置DNS服务器,当然如果别人的DNS服务器上愿意为你添加指向你的服务器IP的MX纪录更好了,免去配置DNS的麻烦。
  3.        说明:
  4.       服务器1:172.16.0.3,    服务器2:172.16.0.4  通过VMware实现同时启动。
  5.       1。配置DNS服务器,配置在172.16.0.3上,建立两域:syd168.com,syd168.net,并添加两个MX
  6.           syd168.com.            IN        MX         10         mail.syd168.com.
  7.           syd168.net.             IN        MX         10         mail.syd168.net.
  8.         首先保证连个服务器的DNS是可用的。
  9.       2。配置邮件服务器
  10.         1)启动邮件相关服务器,如果没安装,需要首先安装。
  11.             #chkconfig    ipop3 on
  12.             #chkconfig    imap  on
  13.             #service  xinetd restart
  14.             #vi /etc/mail/sendmail.mc
  15.              找到包含addr=127.0.0.1的行前添加dnl注释掉,让邮件服务器在服务器IP上监听,而不是缺省的127.0.0.1上监听。
  16.             #m4   /etc/mail/sendmail.mc  > /etc/mail/sendmail.cf
  17.             #service sendmail restart
  18.         2)邮件服务器的测试
  19.            www.syd168.com服务器(域名已经建立)上。
  20.            #echo "Test mail from syd168.com" | mail -s "test mail"  [email]root@syd168.com[/email]
  21.            #echo "Test mail from syd168.com" | mail -s "test mail"  [email]root@syd168.net[/email]
  22.            #echo "Test mail from syd168.com" | mail -s "test mail"  外网邮件
  23.            www.syd168.net服务器(域名已经建立)上。
  24.            #echo "Test mail from syd168.net" | mail -s "test mail"  [email]root@syd168.net[/email]
  25.            #echo "Test mail from syd168.net" | mail -s "test mail"  [email]root@syd168.com[/email]
  26.            #echo "Test mail from syd168.com" | mail -s "test mail"  外网邮件

  27.          我们会发现每个服务器上发往本域的都成功,发往外网的也成功,但发往我们自己建立的域却失败,为什么呢?
  28.          通过邮件客户(如outlook等)非本地测试,发现只有本域内部可以收发,发往别的都失败。
  29.          经再三努力,终于找到解决办法。
  30.          1。mail服务器的主机名一定要在DNS中有解析纪录
  31.          2。MX的格式一定要写对,如syd168.com域的MX纪录有如下几种写法(注意后面的点!全域名必须最后有个点,表示顶级域名!)
  32.               syd168.com.          IN     MX     5      mail.syd168.com.
  33.               syd168.com.          IN     MX     5      mail
  34.          3。在/etc/mail/local-host-names中加入本地域,对方域和localhost
  35.          4.对于无法发送的外网邮件,将@后的域部分加入/etc/mail/relay-domains
  36.          
  37.        上面的任何修改都要重新启动sendmail服务器!如果修改了sendmail.mc就需要运行m4命令重新建立sendmail.cf文件并重新启动邮件服务器。

  38.         首先配置好DNS,然后很简单的步骤就可以配置好sendmail ,不过一定注意以上的几个地方,就一定能够实现自己的邮件系统。当然这样的邮件系统能否安全,请大家自己好好研究。比如垃圾邮件的预防等等。
复制代码
发表于 2005-2-12 21:02:26 | 显示全部楼层

有些看不了,我重新贴一次,不要见怪~

论坛里有好多贴是关于邮件的,其实好多问题都出在邮件服务器的配置上,今天再次将我的两个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 ,不过一定注意以上的几个地方,就一定能够实现自己的邮件系统。当然这样的邮件系统能否安全,请大家自己好好研究。比如垃圾邮件的预防等等.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表