需要 Postfix 将 domaina.com 发送到网关 A,但如果同一条消息中有其他域名“*”,则发送到网关 B

需要 Postfix 将 domaina.com 发送到网关 A,但如果同一条消息中有其他域名“*”,则发送到网关 B

我正在设置 Postfix 以将电子邮件从 domaina.com 路由到网关 A,但如果电子邮件包含任何其他域,我希望将其发送到网关 B。

我想知道是否有可能在传输图中实现此逻辑。以下是我的想法:

abc.com    smtp:gateway1.server.123.com
(abc.com + "*")   smtp:obgw.123.com
"*"               smtp:obgw.123.com

我确实想避免将电子邮件流量分成两部分,尤其是当 obgw.123.com 也可以传送到 abc.com 帐户时。

如果您有任何见解或解决方案,我很乐意听取您的意见。

非常感谢,Dub

答案1

# Route all internal mails to local transport
yourdomain.com :                          

# Route domain A -> gateway A. [] indicates that MX lookup is disabled. 
domainA.com : smtp:[gatewayA.com]       
  
# Route all other domains -> gateway B. 
* : smtp:[gatewayB.com]                   

答案2

我认为这是不可能的。路由决策要么是默认的,要么是每个收件人的,而不是基于收件人的组合。您可以做的是通过网关 A 发送 domaina.com 收件人,通过网关 B 发送其他收件人。由于“其他收件人”定义不明确,因此您应该将网关 B 配置为默认网关,并为域 A 添加自定义传输,例如

在/etc/postfix/传输:

domaina.com  smtp:[gatewaya]

/etc/postfix/main.cf:

...
relayhost = [gatewayb]
transport_maps = hash:/etc/postfix/transport
...

相关内容