是否可以附加到 Postfix 默认参数值?

是否可以附加到 Postfix 默认参数值?

我想附加到的默认 Postfix 值local_recipient_maps,定义为:

% postconf | grep '^local_recipient_maps'
postconf: warning: /etc/postfix/master.cf: undefined parameter: mua_sender_restrictions
postconf: warning: /etc/postfix/master.cf: undefined parameter: mua_client_restrictions
postconf: warning: /etc/postfix/master.cf: undefined parameter: mua_helo_restrictions
local_recipient_maps = proxy:unix:passwd.byname $alias_maps

基于文档似乎我应该能够在新值中引用默认值,所以我这样做了:

# postconf 'local_recipient_maps = $local_recipient_maps hash:/var/lib/mailman3/data/postfix_lmtp'

但是当我postconf再次运行时,它给出了一个宏错误:

% postconf | grep '^local_recipient_maps'
postconf: warning: /etc/postfix/master.cf: undefined parameter: mua_sender_restrictions
postconf: warning: /etc/postfix/master.cf: undefined parameter: mua_client_restrictions
postconf: warning: /etc/postfix/master.cf: undefined parameter: mua_helo_restrictions
postconf: warning: unreasonable macro call nesting: "local_recipient_maps"
postconf: fatal: macro processing error

显然这不是什么大问题,因为我只需复制并粘贴原始默认值,但我想知道我是否做错了什么/这是否(应该)可能,因为它可以很好地将参数的不同部分分成几部分,并使用注释标题解释它们的用途(例如,这一部分将进入一个# Mailman部分,因为显然只有最后一张地图local_recipient_maps与 Mailman 相关)。

apt policy postfix如果这很重要的话,我在 Debian 10 上使用 Postfix 3.4.10-0+deb10u1(根据)。

答案1

如果您在 main.cf 中定义了所有 mua_* 参数,那么它们必须具有实际存在的对应内容。

针对您的具体情况,您很可能会遇到以下情况:

smtpd_restriction_classes = mua_sender_restrictions, mua_client_restrictions, mua_helo_restrictions

但你没有在 *.cf 中定义smtpd_client_restrictions=mua_client_restrictions

你最终应该得到如下结果:

smtpd_restriction_classes = mua_sender_restrictions, mua_client_restrictions, mua_helo_restrictions

mua_client_restrictions = permit_sasl_authenticated, reject

mua_sender_restrictions = permit_sasl_authenticated, reject

mua_helo_restrictions = permit_mynetworks, reject_non_fqdn_hostname, reject_invalid_hostname, permit

相关内容