我需要将 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
)。