我负责处理多家公司的电子邮件。每家公司都需要我根据以下条件将所有出站电子邮件通过特定的 SMTP 中继路由:从地址。
什么软件配置或技术允许我做到这一点?
我们是一家拥有 Exchange 2010 的 Windows 商店,但也愿意接受其他选项,例如 sendmail,甚至可以购买或找人构建自定义传输代理
答案1
假设您的 Exchange 机器将所有电子邮件转发到另一台运行 sendmail 的机器,您可以决定使用规则集 0 中的 $&f 宏根据发件人域进行路由。
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.接下来你应该建立你的发送邮件配置文件并重新启动 sendmail。假设您使用的是 Debian 或 Ubuntu 系统,则可以通过发出 来完成此操作sendmailconfig
。请记住,在上面的示例中,规则的左侧和右侧由制表符而不是空格分隔,因此您必须键入规则集,而不是复制粘贴。
答案2
好吧,我偏向于(并且熟悉)使用带有 Postfix 的 Linux 来进行前线 MTA 工作,所以这里有一个解决方案:
domain transport:nexthop
Deliver mail for domain through transport to next-hop.
答案3
如果您想使用 Linux/sendmail 执行此操作,我认为您需要设置一个智能表。详细信息可查阅这里。
答案4
看这个: https://groups.gogle.com/forum/#!topic/comp.mail.sendmail/UQ5_TeaGd_c “在 smarttable.m4 中使用 LOCAL_RULE_0 代替 LOCAL_NET_CONFIG 来使 smarttable 路由消息甚至对本地收件人都有效。” 之后一切正常