i have zimbra with hostname(example) : mail.zimbra.com, and make another domain inside it with name zimbra.com and used it as primary domain at global config.
so my accounts will be : user1@zimbra.com, user2@zimbra.com not user1@mail.zimbra.com, user2@mail.zimbra.com.

and this is my configuration :

[root@mail ~]# cat /etc/hosts      localhost localhost.localdomain localhost4 localhost4.localdomain4   mail.zimbra.com mail
[root@ ~]# host domain name pointer mail.zimbra.com.
dig mx to mail.zimbra.com and zimbra.com return with QUESTION, ANSWER, and AUTHORITY section. And the status was noerror

the problem is, when i send mail to gmail or yahoo, it still detected mail as spam, and i still get "Warning - Reverse DNS does not match SMTP Banner" from mxtoolbox.com.

for additional information, my server run under Port Address Translation,,

any ideas ?

sorry for my bad english, and Thanks !