I have 5 different valid domains domainonline.com, domain.com, domain.net, domain.org & localhost.localdomain. I have one installation of zimbra on internet behind a NAT. So I have an internal IP (192.x.x.x) for the box on which am running zimbra & an internal IP of the NAT box (which acts a namesserver) & an External IP (x.x.x.x) for the NAT box (ISP provided). When I configured the box with zimbra initially, I had configured domain localhost.localdomain, as then the domain names where under processing. I could send the mails from zimbra to internet (the BOX then a valid MX record for the hostname) but could not receive any mail. This I could understand. But now I have got all domain names, valid MX & A record for all the domains & all of the domain's A record point to the HOST my external IP (x.x.x.x). Do I need to change my hostmachine name? If yes out of all domains which one should be the name? & why? I did change the hostname of the box using zmsetservername to domainonline.com. I could now send mails to internet, cannot receive nor could I send mail to any other domain (other domains in zimbra) in zimbra worked.

query to MX record for all domains return me something like this & all of them are handled by the same box
[$]# host -t mx domainonline.com
domainonline.com mail is handled by 10 x.x.x.x.

my hosts file looks something like this, what should I add for each of my external domain in the hosts file. There is one thing which I observed, if I have "enable DNS" checked & my service hostname is localhost.localdomain, in zimbra adminitration UI, external mail do get delivered but all internal zimbra email do not (meaning emails from domainonline.com to domain.com does not get delivered). But when I update the host service name using zmsetservername to say domainonline.com, nothing works meaning, I cant send external/internal emails, postfix log is clean, postfix log doesnot show me any issue. Is there any way I can all debug log of postfix & also if its possible to set the Javamail debug on. But I do get a Read Timeout Error in zimbra.log (Javamail error)

# Contents of my /etc/hosts file
127.0.0.1 localhost.localdomain localhost
internal IP localhost.localdomain localhost (I did add a mail entry with my domainonline.com pointing to my internal IP 192.x.x.x but tht didnt help either)
# internal IP domainonline.com mail (this is removed)

The zimbra box is not a name server it uses the NAT as DNS server & /etc/resolv.conf has a valid nameserver entry which is the NAT box internal IP (192.x.x.x). Precisely I want enable DNS checked & both internal & external mail should work for all domains & I should be able to receive mails in all domains.

Any suggestions?