在 mydestinations 中与 catchall 复合的外部地址别名

在 mydestinations 中与 catchall 复合的外部地址别名

我有一个可以接受来自任何域的电子邮件的邮件服务器。这是通过在 Postfix 中使用以下行来实现的main.cf

mydestination = regexp:/etc/postfix/mydestinations.reg

看起来mydestinations.reg像这样:

/^.*/                           OK

现在,我想将电子邮件转发给特定用户(例如admin)到外部电子邮件地址。我在以下行中添加了/etc/aliases

admin: [email protected]

运行newaliases并发送电子邮件后admin,规则得到满足,但 Postfix 尝试在本地而不是远程发送电子邮件。这导致 Postfix 日志中出现以下错误消息:

status=bounced (unknown user: "email")

我的猜测是,Postfix 假定这externaldomain.com是它的目的地,因为它被配置为接受任何域。

现在我的问题是:我怎样才能告诉 Postfix 将电子邮件转发到外部域,同时保持邮件mydestination完整?
附注:如果可能的话,我想避免使用虚拟别名。

答案1

我的猜测是,Postfix 假定 externaldomain.com 在其目的地,因为它被配置为接受任何域。

是的,这是真的

现在我的问题是:我如何告诉 Postfix 将电子邮件转发到外部域,同时保持 catchall mydestination 完好无损?

要覆盖来自后缀的下一跳查找,您需要在中定义条目transport_maps 对于别名中使用的每个外部地址

# main.cf
transport_maps = hash:/etc/postfix/externaladdr

# /etc/postfix/externaladdr
[email protected]  smtp:externaldomain.com

通过此条目smtp:externaldomain.com,postfix 将尝试通过smtp传输将电子邮件发送到 externaldomain.com 的邮件服务器。

相关内容