postconf设置不是“粘”

我需要设置Postfix lmtp_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设置为本机,并保持不变。 但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 

这将开始本地邮件交付一段时间。 但是 ,如果我重新启动后缀,它会回到'dns'。 在一些似乎是随机的时间,这往往是几天,它会自我恢复到“DNS”。

现在一个完整的彻底的黑客将是把设置在Cron,但我想要解决的根本问题。 可能是什么问题呢?

每次服务(重新)开始时,Postfixconfiguration都会被重写。 lmtp_host_lookup值取自zimbra本地configuration,名为postfix_lmtp_host_lookup如模板文件中configuration用于重写( /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 )。