How about the first case ? When I send mail between 2 accounts from 1 domain, localhost.localdomain not found. The DNS is wrong again ? I can solve this problem by installing tinydns, but I want to know whether we can run zimbra normally without installing it ? Maybe the BIND causes this errors.

Why is it looking for "localhost.localdomain"? Did you use that as your mail domain? If so I'm not sure it will work. You should use a normal FQDN like mymailhost.mydomain.com and in your /etc/hosts file have a real IP mapped to that domain.