Almost, the virtual hostname is just for easier login purposes etc (so you can visit the box and not type the full @webmail.domain.com part of the email) you'll also need a domain alias (or if already created domain masquerading) : ManagingDomains - Zimbra :: Wiki
-That's not a perfect solution however. One issue would be accepting mail to any email@example.com (it'll bounce later after it attempts to get to firstname.lastname@example.org) but it's better to not even accept.
Long term you should really look at 2 options (after nulling out the alias/catchall/removing the fake domain.)
A) Use the renameDomain command
Straightforward but do check values for the spam/ham accounts, daily email report address, etc afterwards.
zmprov -l rd webmail.domain.com domain.com
(Don't change every value you see in that grep, the server has a hostname of webmail.domain.com afterall, just let us know what you find and we can point you at what to correct.)
zmprov gacf | grep webmail.domain.com
B) Create just 'domain.com' as an actual domain on your ZCS box.
Then you can:
-Move users to it.
zmprov ra email@example.com firstname.lastname@example.org
-Leave user's at email@example.com and just create aliases firstname.lastname@example.org
zmprov aaa email@example.com firstname.lastname@example.org