we had an issue recently where a bunch of accounts lost some .msg files around the same time. i can tell you how i fixed it which was a manual process that took a little while and would not be practical if you have a ton of data.
first run zmblobchk -u <user>
it will tell you maybe that theres some messages with metadata but not on disk. for me this was less than 10 for each user that had the problem.
i then restored the account to the time frame right before i know the problem happened.
then i copied the msg files from like example
/opt/zimbra/store/0/388/msg/9/ to /opt/zimbra/store/0/70/msg/9/
this assumes that mailboxid 388 is the restored account and mailboxid 70 is the original account and al the missing messages were under the 9/ dir
this was really helpful
Ajcody-Notes-No-Such-Blob - Zimbra :: Wiki