Ok, when I get some spare time I'm going to work up a formal tutorial with screenshots and all that jazz, but here's a rough idea on what I did. Now my goal was slightly different. I wanted to get the emails into a ZCS server.. I've been reading a bit about Yahoo! accounts after the details on this bug were released so I'm not entirely sure that this will work for you since I've heard claims that Yahoo! only offers IMAP connections to ZD.
So I'll start with a quick disclaimer.. this was a hack, but it got the user I was working with out of a bind. I'm sure there's a much better way to do this, but it worked in a pinch.
First, you'll need Thunderbird with the mboximport enhanced extension installed as well as tar and gz.
Do a dump of the ZD data:
Account Setup -> <account> -> Manage Data -> Export -> Export
That'll dump a tgz file of your ZD data to a location of your choosing. Of course, then extract the file.. Admittedly.. I don't use Windows anymore so I don't know what tools exist to extract gzipped tarballs but I'm sure there's plenty if you're using Windows. If you're using a Mac or Linux you can just double-click it in the GUI.
Now, fire up Thunderbird. Setup your account as IMAP account with the server you wish to push the messages to. For an import into Zimbra, you'll want to make sure to use email@example.com/tb to authenticate, rather than just user@domain to preserve timestamps in the web UI.
Once the account is created, select a local folder in Thunderbird. Then go to Tools -> Import/Export in mbox/eml format -> Import all eml files from a directory. If you go into the directory you extracted your backup from ZD, the messages were dumped as .eml files in their respective directories. Once the import tool pushes the messages into Thunderbird, you can just drag-n-drop into your IMAP account (you could probably skip right to this and import directly, but I took the less risky route). Also note, it would appear that ZD breaks each folder into 500 message blocks and creates a new folder in the form of Inbox!<n/500>.
Whew.. that's the route I took, though like I said.. A bit of a hack but it worked.
It was about a week ago that I did this so I might have missed a step along the way.. If so just shout back. I'll post here with a URL once I get a tutorial done.