我要投稿
  • 您当前的位置:365bet官方 -> 技术教程 -> 服务器网络 -> 服务器教程 -> 邮件服务器教程 -> 教程内容
  • [ 收藏本页教程 ]
  • 用Sendmail做Inbound & outbound Mail relay的问题请教邮件服务器教程

    教程作者:佚名    教程来源:不详   教程栏目:邮件服务器教程    收藏本页
                  摘要:用Sendmail做Inbound & outbound Mail relay的问题请教
    公司内部使用的是Exchange邮件系统。现在希望使用一台linux server来作对外的mail relay.以减轻E2k的负担。应该怎样作?
    我现在用sendmail作对外的relay是没有问题了。但是对于收信,我不清楚怎样配置。
    我不明白,一台server怎樣同時制定不同的規則,因為外發/內送的規則是截然不同的.因为: 
    OUtbound: 來源 指定主機(指定@domain)   目標: all host,all domain to internet (這個我東拼西湊,總算基本可以實現,就使用access文件)

    Inbound: 來源 All host,all domain internet   目標:@intra.com.cn
     
    這樣兩個完全衝突的規則,如何在一個service 的配置中實現?
    我實在是很困惑,還請各位指教指教.

     peng 回复于:2003-05-16 13:38:08呵呵~这个问题讨论过。
    其实我个人觉得,你用了liunx下的sendmail,完全可以替代了exchange,我的一台PIII500,256sdrom,18G的compaq pcserver,我总共10000左右用户,是以前isp做的mail server,100多个公司,也就是100多个虚拟域名。使用率很高,但是当时不提供webmail服务。工作性能良好,从没出现超负荷情况。

    如果你非得要做的话,有一个解决方法。
    首先,sendmail 要装smtp服务,不要装pop3服务了。 exchange都要装smtp and pop3服务。
    在dns server中设置:
    smtp   IN  A    sendmailhost ip address
    pop3   IN  A    exchangehost ip address
    @    IN  MX 10  pop3
    理论分析:
    首先是发信,你的用户给外面的发信,用的smtp服务器是sendmail的主机地址,实现了你的作对外的mail relay。外面的给你的邮件和你公司员工互相发的邮件,在smtp server之间,查找的是mx纪录,而不是A纪录,所以,就发到了pop3主机上,也就是你的exchange主机。还有的是通过你的用户有别名的,到了你的exchange主机上,还要relay,所以,exchange的主机也要启动smtp,但是,它只是很少的转发,没有太大的流量。这样,就应该实现了你的要求。
      
    这样的结果就是smtp and pop3服务分开了。sendmail负责mail relay,exchange 负责pop3 和别名转发。
    你要是还要exchange负责发给不的信件,在server端设置,就麻烦了。你可以用foxmail,在客户端设置。但是要是公司人多,也非常麻烦。
    还不如我说的,实现smtp and pop3分开,无伤大局。
    不知道可不可以实现你的要求。:)

     asusboy 回复于:2003-05-16 16:41:47谢谢你的帮助哦。
    我再详细说一下内部mail server的情况.
    现在内部有一堆Exchange2000的服务器。然用其中有一台放在DMZ作front end server来relay信件。因为现在这台server 的loading太重,所以打算要用一台linux主机来接管mail relay。然后从exchagne这边的设定很简单,就是在front-end服务器里面设定对外寄信的smart host到linux server的IP。其他就在这个linux mail relay里面作了。
    当信件从外面进来时,DNS的MX记录会指向这台linux,然后linux只要作一个动作,把这些信件全部丢到内部的一台SMART HOST。这也是一台E2k.
    我是学MS的,要在短时间那搞懂这个linux还真痛苦。老大帮帮我阿。
    最好能具体到需要修改哪些文件。 

     peng 回复于:2003-05-16 16:56:17嘿嘿~你是做ms的,可我也只懂unix。:(
    你的想法我大约明白了。
    但是,你的网络结构我不太清楚,但是我觉得你这样做,对于linux的sendmail,负担加重了。
    我上文说,你的sendmail and exchange都是公网地址,就是最好的解决负载了。
    但是你要放在内网,就增加了sendmail的负担。也就是说,linux主机负责smtp,还要负责mail relay,relay所有的信件给exchange.其实sendmail相当于一个邮件代理了。
    为何不让exchange直接接受公网上的信啊!sendmail转发给他,他也不轻松啊?还加重了sendmail的负担!

     asusboy 回复于:2003-05-16 23:10:28嗯。后来我想过了。你说得非常对。对于从internet近来的邮件,如果将MX指给Linux,那么Linux主机吃进信件以后,还是要丢给里面的Exchange server来进行转寄。因为一个Group有一堆Exchange服务器。还是要由这个Exchange Front-end server来判断丢给谁。所以用linux来接受并不能减轻原来这台Exchange Front-end的负担。
    但是对于外寄,用linux就能有效的减轻负担,我可以设定所有的寄到internet的邮件都直接送到Smart host,就是那台linux smtp.这样那台Exchange Front-end的负载就很轻了。
    目前,Front-end和linux relay都摆在DMZ,也就相当于外网。我还在看Sendmail文档.心里没底,怕怕的。还没把smart host指到linux.。我一共用到了sendmail.cf ,access,这两个配置文件。应该没问题吧?

     peng 回复于:2003-05-17 10:03:39没错!
    只要你所有的用户的smtp都用装sendmail的linux主机,接受就用exchange就可以了,mx纪录是exchange主机。一个负责smtp(sendmail) ,一个负责pop3(exchange).
    你要做sendmail,可以看精华区的心余的文章。你要是英文好,我也有sendmail的手册。但我觉得你看看精华区的心余的文章就应该可以了。如果你的用户超过8000的话,建议用qmail or postfix,会更好一点。

     asusboy 回复于:2003-05-18 14:07:28Pneg老大。再请教一个细节的问题。
    Access这个文件中,如果我写
    asus.com.cn     REJECT
    的意思是什么?是指所有的FQDN的后面为asus.com.cn的主机(比如mail1.asus.com.cn),还是指所有的 @asus.com.cn的信箱?被Reject?
    我测下来似乎不同版本的sendmail,产生的效果不同。

     peng 回复于:2003-05-18 19:07:41是所有的 @asus.com.cn的信箱

    我要投稿   -   广告合作   -   关于本站   -   友情连接   -   网站地图   -   联系我们   -   版权声明   -   设为首页   -   加入收藏   -   网站留言
    Copyright © 2009 - 20012 www.www.ct131.com All Rights Reserved.365bet官方 版权所有