我们运行一个 Postfix 邮件服务器,它从问题跟踪系统接收邮件。
我们的确是发件人基于路由,并且只配置4个下一跳。
我想限制这个 postfix,以便它永远不会尝试连接到互联网来发送邮件。
基于发送方的路由已工作几个月了。
但有时会出现错误(发件人信息错误),并且 postfix 不会采用我们定义的 4 个下一跳之一,而是尝试通过互联网发送此邮件(mx 记录查找,...)。
如何限制postfix不通过互联网发送?
下一个问题是:如果我们的基于发件人的规则都不匹配,那么 Postfix 应该怎么做?
答案1
默认情况下,Postfix 将使用简体中文:当没有任何基于发送方的规则匹配时作为传输方法。
看:http://www.postfix.org/postconf.5.html#default_transport
default_transport(默认值:smtp)
对于与 $mydestination、$inet_interfaces、$proxy_interfaces、$virtual_alias_domains、$virtual_mailbox_domains 或 $relay_domains 不匹配的目的地,默认邮件投递传输和下一跳目的地。可以使用 sender_dependent_default_transport_maps 参数和 transport(5) 表来覆盖此信息。
按照优先级依次降低,下一跳目的地取自 $sender_dependent_default_transport_maps、$default_transport、$sender_dependent_relayhost_maps、$relayhost 或收件人域。
指定格式为 transport:nexthop 的字符串,其中 transport 是 master.cf 中定义的邮件投递传输的名称。:nexthop 目标是可选的;其语法记录在相应投递代理的手册页中。
例子:
default_transport = uucp:relayhostname
要覆盖此设置,如上所述,您可以default_transport
直接在 main.cf 中设置参数。您可以在下方看到所有可用选项例子在http://www.postfix.org/transport.5.html。
对于基于发件人的路由或传输规则,您可以在末尾放置一个通配符条目 (*),它将与“未明确定义的所有其他发件人域”匹配,并将其指向任何可用的下一跳或其他内容。