sendmail 如何做到只让部分用户直接走MX发信

edenCC
sendmail 如何做到只让部分用户直接走MX发信

如题, 用RHEL AS4-U5自带的sendmail程序, 希望实现这样的功能:
部分用户的信件保留在本地
部分用户的信件直接走MX投递

kenduest
[quote]原帖由 [i]edenCC[/i] 于 2008-3-5 21:25 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8043643&ptid=1061322][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
如题, 用RHEL AS4-U5自带的sendmail程序, 希望实现这样的功能:
部分用户的信件保留在本地
部分用户的信件直接走MX投递 [/quote]

老實說完全看不懂你要的需求。

--

柳拂风
"留在本地"是什么意思呢?

edenCC
邮件服务器在本机, 但是MX记录指向了另一台主机A.
客户发信时,先发到本机, 然后A主机会自动从本地主机收取邮件处理.

希望实现这样的功能, 让邮件服务器直接把本地部分客户的邮件通过MX投递到A, 另外一部分客户的邮件留在本地.

柳拂风
你说的“客户”是什么?
指来自internet上的使用其它邮箱的人吗?还是使用你的邮箱的人?

meilinxiaoxue
问题描述不清...你可以试一下象你周围不了解你的要求的人问一下,就知道你如何描述才能让人明白了

edenCC
I'm sorry!

客户是使用这台主机发信的人, 这个主机是我们的mail server, 域名是 smtp.aa.com
用户在配置客户端时 指定smtp server 为该主机来发信

kenduest
老實說完全看不懂... again

--

柳拂风
大概弄明白了。

楼主是说用户以smtp的方式通过该系统来发送邮件,而楼主希望部分邮件以该系统作为终点站,另一部分邮件则转发至真正的终点站A机。
是这个意思吧?

postfix应该是可以满足你的要求的,使用它的“传输表”功能可以指定邮件的去向。
sendmail我不清楚,你查一下资料看有没有类似功能。

刘五十三
virtusertable就可以了

kenduest
需求有點奇怪...

若是 [email]id@hostname.com[/email] 就是指這台實際的 mail server, 那寄給 id@hostname 時就會連到該機器的 mta 來處理, mta 會收到後直接放到使用者 mailbox 內.

既然如此的話,怎麼又會出現再次投遞寄信出去的問題呢 ?

那假設該主機只是 relay host 的話,那情況就會比較合理。該情況來說 postfix 可以設定 /etc/postfix/transport 達成需求,一般確認 postfix 組態設定帶有該項目:

[code]transport_maps = hash:/etc/postfix/transport[/code]

內容格式像是:

[code]abc.com    smtp:[mail.xxx.com][/code]

表示要寄信給 [email]id@abc.com[/email] 信件請 mail.xxx.com 主機代為 relay 寄信處理. 當然不要忘記該文件改好後要使用 postmap 建立後續使用的 transport.db 才可使用.

若是使用 sendmail 的話,一般考慮使用 mailertable 即可,像是 /etc/mail/mailertable 配置:

[code]
[code]abc.com    smtp:[mail.xxx.com][/code]
[/code]

最後用 makemap hash mailertable < mailertable 建立實際的 .db 檔即可使用.

--

gucuiwen
看了三次楼主的描述,终于看明白了,其实就是邮件路由的概念或者说relay,qmail可以修改smtproutes配置文件,postfix可以配置transport_maps, sendmail不熟悉。不知道如何配置,但是应该能实现。

其实这个需求平时还是有的,比如有一家小公司,有一台自己的邮件服务器,但是技术力量不强,反垃圾反病毒等需求就委托给另一家比较有技术力量的公司,进来的邮件先到那家技术力量大的公司去杀毒和反垃圾,然后再最终发到小公司自己的邮件服务器上。那家大公司也有自己的邮件应用,因此就产生了一部分邮件域的邮件要保留在本地,另一部分邮件域的邮件要转发到其他服务器的需求。

whn3375
sendmail的应该是mailertable, mailertable可以实现面向多个服务器的转发(一台出问题,就由第二台实现),但是transport只能是一对一。