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