我正在处理许多不同公司的电子邮件。 每家公司都需要我通过基于“ 发件人”地址的特定SMTP中继路由所有出站电子邮件。
什么软件configuration或技术可以让我做到这一点?
我们是一家拥有Exchange 2010的Windows商店,但可以使用sendmail等其他选项,甚至可以购买或寻找某人构build自定义传输代理
假设您的Exchange机器将所有电子邮件转发到运行sendmail的另一台电子邮件,您可以决定使用规则集0中的$&fmacros来基于发件人域进行路由。
LOCAL_RULE_0 # first make sure that local mail gets delivered properly R$- $@OK R$* < @ $=w . > $* $@OK # now deal with senders R$* $: $>canonify $&f $| $1 # stuff [email protected] sends goes through server1.relay Ruser1 < @ domain1.com. > $* $| $* < @ $* . > $* $#esmtp $@ [server1.relay] $: $2 < @ $3 . > $4 # stuff [email protected] sends goes through server2.relay Ruser2 < @ domain2.com. > $* $| $* < @ $* . > $* $#esmtp $@ [server2.relay] $: $2 < @ $3 . > $4 # stuff users from domain3.com send goes through server3.relay R$* < @ domain3.com. > $* $| $* < @ $* . > $* $#esmtp $@ [server3.relay] $: $3 < @ $4 . > $5
上面的规则应该添加到你的/etc/mail/sendmail.mc 。 接下来,你应该build立你的sendmail.cf并重新启动sendmail。 假设您在Debian或Ubuntu系统上,则通过发出sendmailconfig来完成。 请记住,在上面的示例中,规则的左侧和右侧由制表符分隔,而不是空格,因此您必须键入而不是复制粘贴规则集。
那么,我偏向于(和熟悉)Linux与Postfix的前线MTA工作,所以这是一个解决scheme:
依赖发件人的运输地图
domain transport:nexthop Deliver mail for domain through transport to next-hop.
如果你想用Linux / sendmail做这个,我想你需要设置一个智能表。 细节可在这里 。