postconf 设置不“固定”

postconf 设置不“固定”

我需要将 Postfixlmtp_host_lookup设置设为,native而不是dns,这是默认设置。这是我在 Ubuntu 11.04 系统上安装 Zimbra 7 的方式造成的,当我使用 /etc/hosts 时,本地邮件传递可以正常工作,因此设置了该设置。但是,设置不会保留,并不断恢复为dns,本地邮件停止传递,直到我手动重置它。以下是一些详细信息:

以下是 postconf 中包含“lookup”的行:

zimbra@ubuntu:~$ postconf | grep lookup
disable_dns_lookups = no
empty_address_default_transport_maps_lookup_key = <>
empty_address_relayhost_maps_lookup_key = <>
ignore_mx_lookup_error = yes
lmtp_host_lookup = dns
smtp_host_lookup = native
smtpd_null_access_lookup_key = <>
smtpd_peername_lookup = yes

我之前已将 smtp_host_lookup 设置为 native,并且一直保持不变。但 lmtp_host_lookup 一直恢复为默认值。然后我可以发出:

zimbra@ubuntu:~$ postconf -e lmtp_host_lookup=native

设置如下:

zimbra@ubuntu:~$ postconf | grep lookup
disable_dns_lookups = no
empty_address_default_transport_maps_lookup_key = <>
empty_address_relayhost_maps_lookup_key = <>
ignore_mx_lookup_error = yes
lmtp_host_lookup = native
smtp_host_lookup = native
smtpd_null_access_lookup_key = <>
smtpd_peername_lookup = yes

这将暂时启动本地邮件递送。然而,如果我重新启动 postfix,它会恢复为“dns”。并且在某个看似随机的时间(通常是几天),它会自动恢复为“dns”。

现在,一个完整的破解方法是将设置放在 cron 中,但我想找到根本问题。可能是什么问题?

答案1

每次启动(重新)服务时都会重写 Postfix 配置。的值lmtp_host_lookup取自名为 zimbra 本地配置的配置,postfix_lmtp_host_lookup该配置在用于重写的模板文件中配置(/opt/zimbra/conf/zmmta.cf),其中包含

POSTCONF lmtp_host_lookup                     LOCAL postfix_lmtp_host_lookup

要编辑postfix_lmtp_host_lookup,只需运行

zmlocalconfig -e postfix_lmtp_host_lookup=native

并重新启动 postfix ( zmmtactl restart)。

相关内容