如何防止 Postfix 重写收件人电子邮件地址?

如何防止 Postfix 重写收件人电子邮件地址?

我已经设置了一个 Postfix 服务器,它看起来运行良好。

foo.com是其主要领域,

bar.com是仅用作 的另一个名称/别名的二级域名foo.com

我有以下功能配置:

/etc/postfix/main.cf:

virtual_mailbox_domains = foo.com
virtual_alias_domains = bar.com
virtual_alias_maps = hash:/etc/postfix/virtual_aliases

在/etc/postfix/virtual_aliases中:

@bar.com     @foo.com

这似乎按预期工作。 收到的任何电子邮件[email protected]都会映射到 的邮箱[email protected]并发送到[email protected]的邮箱。

当一封无法送达的电子邮件发送到 时,问题就出现了[email protected]。Postfix 将其映射到foo.com,找不到有效的收件人,然后退回该电子邮件。

退回邮件如下所示:

<[email protected]>: unknown user: "[email protected]"
Reporting-MTA: dns; mx.foo.com
X-Postfix-Sender: rfc822; [email protected]

Final-Recipient: rfc822; [email protected]
Action: failed
Status: 5.1.1
Diagnostic-Code: X-Postfix; unknown user: "[email protected]"

退回邮件已重写了所有bar.com对 的引用foo.com

由于发件人为 写了一封电子邮件[email protected],我认为退回邮件中对 的所有引用@foo.com都令人困惑。此外,我想向普通用户隐藏 的事实,即 实际上foo.combar.com

是否可以配置 postfix 仅执行 virtual_alias 重写内部? 换句话说,尝试转发到foo.com,但如果失败则返回一个退回邮件,表明在 找不到用户bar.com

答案1

我将我的问题发布到了 postfix-users 邮件列表并收到了这个回复,它说明了为什么我使用的别名配置是个坏主意以及如何纠正它:

是的,这是通配符重写的问题;postfix 无法在传送之前验证收件人,这使您成为反向散射源。

不要使用通配符重写,而要使用 1-1 用户映射。如果用户数量较多,请使用您喜欢的脚本语言自动创建文件。

[email protected] [email protected]
[email protected] [email protected]

诺埃尔·琼斯

相关内容