如何更改 Postfix 中继上的收件人(smtp_generic_maps 不起作用)?

如何更改 Postfix 中继上的收件人(smtp_generic_maps 不起作用)?

我设置了 Postfix 邮件网关,想更改收件人地址。我希望所有邮件都转发到 而[email protected]不是 转发到[email protected]我已经使用 Postfix 配置了smtp_generic_maps(如下所示),但这仅适用于在 Postfix 服务器本身上生成的邮件。通过 Postfix 服务器转发的任何邮件仍然会[email protected]有效地忽略smtp_generic_maps。我应该研究什么配置来实现这一点?

# grep smtp_generic_maps main.cf
smtp_generic_maps = hash:/etc/postfix/generic

# postmap /etc/postfix/generic
# service postfix reload

# cat /etc/postfix/generic
[email protected]               [email protected]

答案1

你不应该用smtp_generic_maps这个

Postfix 地址重写自述文件描述了 的正确用法smtp_generic_maps

使用smtp_generic_maps参数可以指定通用(5)当邮件通过 SMTP 离开机器时,查找表会用有效的 Internet 地址替换本地邮件地址。通用(5)映射取代了信封和邮件头地址,并且是非递归的。在本地机器上的地址之间发送邮件时不会发生这种情况。

您正尝试使用它(而不是像 一样替换本地地址[email protected])来替换带有 FQDN 的地址[email protected]。由于yahoo.com未在 中配置,因此mydestination不被视为本地域,因此不会被处理通用(5)映射。

但是,您不应该将其他人的域配置为本地域,因为它实际上应该由smtp(8)而是使用投递代理。这样做会阻止任何用户向任何@yahoo.com地址发送邮件。这种篡改在技术上是不正确的,甚至可能是非法的。


通过以下方式引导用户了解公司政策check_recipient_access

如果问题是某人试图向您的 CEO 发送个人电子邮件@yahoo.com,而您想阻止这种情况并强制使用公司电子邮件[email protected],您可以添加check_recipient_access限制main.cf

 smtpd_recipient_restrictions =
     ...
     check_recipient_access hash:/etc/postfix/denied_recipients,
     ...
     permit

然后添加一个具有人类可读原因的拒绝/etc/postfix/denied_recipients

 [email protected]  REJECT  The CEO must be contacted using official <[email protected]> address.

(正如我hash:在示例中所使用的,不要忘记postmap /etc/postfix/denied_recipients。)


使用运输(5)覆盖 Postfix 内置默认值的表

为了使所有内容[email protected]都能交付给您,[email protected]您可以使用transport_maps而不是smtp_generic_maps

描述

可选 运输(5) 表指定从电子邮件地址到消息传递传输和下一跳目的地的映射。文件中定义了消息传递传输(例如本地或 smtp) master.cf,下一跳目的地通常是主机或域名。该表由以下项搜索:简单重写(8)守护进程。

此映射覆盖了transport:nexthopPostfix 内置的默认选择。

添加transport_maps到您的/etc/postfix/main.cf

 transport_maps = hash:/etc/postfix/transport

然后添加/etc/postfix/transport一行来改变[email protected]默认值transport:nexthopvirtual:[email protected]

 [email protected]   virtual:[email protected]
 yahoo.com       :
 *               :

其他行只是表明没有进行任何修改,yahoo.com其余部分则恢复为默认transport:nexthop行为。

相关内容