Problem
If you’re having trouble receiving mail from outside, you need to find out where the message is failing. When sending your test message, check the Log Files, especially /var/log/zimbra.log, on your MTA server. It’s often helpful to tail the logfile as you send the message:
tail -f /var/log/zimbra.log
If you see nothing logged (no connection, nothing) then the problem likely either DNS or your firewall.
Resolution
Firewall
To troubleshoot your firewall, it helps to have an account on a system outside of your network. For mail to flow inbound, servers on the internet need to connect to your MTA on port 25.
DNS issues
The mail domain that your user accounts are created under must have an MX record. To test this:
host -t mx domain
The IP address returned should be the IP (public or private) of your MTA. If it’s the public address, make sure that the Firewall is forwarding port 25 to the MTA.