Local Delivery LMTP Problem
I've added more RAM to accomodate mysql, got the hosts file correct and successfully setup Zimbra. I can login to the admin interface and the web client.
There's only one problem remaining that I'm stuck on. When I try to send email to internal users, Postfix fails on trying to deliver the mail with lmtp. Here's what the zimbra.log tells me.
Oct 3 19:47:31 mackenreusch postfix/lmtp: 0D0981772AF: to=<email@example.com>, relay=none, delay=84404, status=deferred (connect to mackenreusch.reusch.net[126.96.36.199]: Connection refused)
I *think* I understand what's happening, but I'm not sure how to fix it. The server lives behind a NAT router. The external IP is the 188.8.131.52 address and is what the hostname mackenreusch.reusch.net resolves to in DNS. It looks like postfix is doing a DNS lookup and trying to delivery to the public IP address instead of the server's internal IP, 192.168.2.52.
I could setup an internal DNS server that would tell postfix mackenreusch.reusch.net resolves to 192.168.5.2, but I'd rather avoid having to setup bind if possible.
From digging into the zimbra postfix setup, it looks like postfix gets the transport map from LDAP. Could I change the transport map to tell it to deliver mail to mackenreusch.reusch.net to the localhost LMTP server?
I suspect I won't be the last person to run into this problem given how popular NAT is and hope the solution will be useful to others!
I've been waiting for a viable open alternative to MS Exchange for a while, and Zimbra is by far the best I've seen. Way to go!
what disable_dns_lookups does
just a clarification: disable_dns_lookups causes postfix to not use DNS directly (ie, libresolv), but instead causes it to use the glibc routines which respect /etc/hosts, /etc/resolv.conf etc.
Also need to set relay_host
This fixed my internal mail delivery problem, but then I noticed deliver of external mail wasn't quite working right (it looks like with this DNS setting, postfix looks up A records, not MX records).
I picked up the tip from this thread about setting the relay_host parameter (through the global settings, MTA tab in the UI).
I set it to my ISP's SMTP server and both internal and external delivery are now working.