This is also a problem for me.
Zimbra is used on intranet with a domain.lan address. Internet emails are received by 2 different hosted mail domains: domain1.com and domain2.com.
I get all inbound emails delivered using fetchmail.
But, Outbound emails do require an internet-valid From address. I would expect that when a new mail is created, the From address would be the one selected in the user interface (Account). This is currently not the case (bug ?).
Running 5.0.21_FOSS_Centos5, the only way I found was to set the canonical Address as email@example.com.
Would appreciate your comments. Thanks