I recently installed Zimbra.I have been setting up for each toplevel domain the new mx record and ip, than on Zimbra I have been migrating the old email addresses. When I send an email to existing account the mail is getting recived by old email server. If I test the the mx domain mxtoolbox shows the desired one. I have been running the emails previously on hmail and icewrap.
You are probably seeing issues with DNS caching. Each DNS record has a
TTL field, which says to anyone requesting, this record should be valid for this amount of time. Usually if left unchanged, it is 24 hours. While the ttl is still valid, a recursive DNS server will not go and see if anything has been changed in the zone file.
The simplest thing to do is to try and reduce the TTL for the domains you are migrating, at least 48 hours before actually making changes, that way you can be sure that remote DNS servers will make a "fresh" request to your DNS server much more quickly.
The other thing you can do is set up your old email server to forward any email for moved domains to the new server. In postfix this is fairly simple, but you didn't mention what your old server was.