答案1
我发现了另一个可行的配置:将“mydestination”指定为接受任何域的正则表达式表。
主文件:
local_recipient_maps=
luser_relay = riskop
mydestination = regexp:/etc/postfix/match_all_destination_re
match_all_destination_re(//匹配所有内容,结果无关紧要):
// this_can_be_anything
我认为这个解决方案比 Esa 的“覆盖 Postfix 的内置默认传输:nexthop”解决方案更直接。
请注意,除了“regexp”表格式,您还可以使用与 perl 兼容的“pcre”格式表。这可能会带来更好的性能(这在我的用例中绝对不是问题)。但是在这种情况下,您需要 Postfix 中的 pcre 支持。本例中的配置:
主文件:
local_recipient_maps=
luser_relay = riskop
mydestination = pcre:/etc/postfix/match_all_destination_re
match_all_destination_pcre(//匹配所有内容,结果无关紧要):
// this_can_be_anything
答案2
这是一个好的开始!虽然可能还有其他方法,但我将从你开始的地方继续,即
local_recipient_maps =
luser_relay = localuser
在这种情况下,您只需将所有域名视为在 中进行处理即可$mydestination
。
transport:nexthop
可以使用以下方法覆盖 Postfix 的内置默认选择运输地图:
transport_maps
(默认:空)可选查找表,其中包含从收件人地址到(消息传递传输、下一跳目的地)的映射。请参阅运输(5) 了解详情。
指定零个或多个
type:table
查找表,以空格或逗号分隔。将按指定顺序搜索表,直到找到匹配项。如果您将此功能用于本地文件,请postmap /etc/postfix/transport
在进行更改后运行。
在您的中main.cf
,添加transport_maps = hash:/etc/postfix/transport
。
将这/etc/postfix/transport
两者结合起来:
local_transport
(默认:local:$myhostname
)mydestination
这是最终投递到 列出的域以及与 或[ipaddress]
匹配的目的地 的默认设置 。默认的下一跳目的地是 MTA 主机名。$inet_interfaces
$proxy_interfaces
* transport:nexthop
特殊模式
*
代表任何地址(即,它充当通配符模式,并且对于 Postfix 传输表是唯一的)。
结果:* local:$myhostname
请将这种非常规配置保留在您的实验室内。