How 'few users'?
In the mean time while you're trying to get the box working - as I dont' know what your time frame/criticalness of getting certain messages is yet.
Now this will loose all folder structure, tags, read status - but you will at least get the messages.
Move the failedbox:/opt/zimbra/store to your livebox:/workspace/oldstore
(grab from the backups whatever just don't overwrite the live store!)
Steps:
Browse to the oldstore folder
make sure everything's owned by zimbra:zimbra
It has a subfolder called incoming that you can ignore
And at least one numbered folder starting with 0.
Look at the subfolders of these numbered folders, which are also numbered
In other words, oldstore/0/1, oldstore/0/2, etc.
Each of these sub-subfolders contains all the mail for a single user.
These leaf directories will be named something like store/0/1/msg/0
You'll have to figure out whose folder is whose by 'brainpower and observation' (more #-#.msg)
(oh you're gonna have some fun with remembering numbers & where your at!)
& you can add the messages in the leaf folders in that directory to the appropriate account on your live mailbox server as you wish or choose to leave the whole thing at /oldstore for a while
So, when you've figured out who a given folder belongs to:
Method 1:
attach to the new server via
zmmailbox -zadmin
or
zmmailbox adminAuthenticate -u
https://server.domain.com:7071 admin@domain.com password
mbox> selectMailbox
user@domain.com
mbox> createfolder /Recovery
mbox>
zmmailbox addMessage /Recovery store/0/1/msg/1 (or whatever the path to the leaf folder is) -- all the mail in the subfolder will be added. Repeat for the remainder of the leaf folders in that mailbox's folder.
think it's -d if your having date trouble with the dates and the header
you can go zmmailbox help commands
Repeat for next user etc etc
Note: To get the dates correct you need to rewrite X-Zimbra-Received header see:
http://www.zimbra.com/forums/adminis....html#post4017 Method 2:
zmlmtpinject -r
user@domain.com -s
sender@domain.com /opt/zimbra/location/#/#/msg/123-4.msg
Injecting a whole folder of files would be:
zmlmtpinject -r
user@example.com -s
sender@domain.com -d /opt/zimbra/location/#/#/
Rinse and repeat
If you do this a bunch over and over in a short time you might have you'll run into the single instance storage/drop duplicate fun. Though you can turn that off across the entire board by globally setting zimbraMessageIdDedupeCacheSize to 0 for a bit.
zmlmtpinject [options] [files]
[options]:
-a,--address lmtp server (default localhost)
-d,--directory message file directory
-D,--domain default per-connection recipient domain (default example.zimbra.com)
-N,--every report progress after every N messages (default 100)
-p,--port lmtp server port (default 7025)
-q,--quiet don't print per-message status
-r,--recipient envelope recipients (rcpt to). This option accepts multiple arguments, so it can't be last if a list of input files is used.
-S,--stopAfter stop after sending this many messages after warm-up
-s,--sender envelope sender (mail from)
-t,--threads number of worker threads (default 1)
-T,--trace trace server/client traffic
-u,--username username prefix (default "user")
-w,--warmUpThreshold warm-up server with first N messages, then start measuring (default no warm-up)
-z,--repeat repeatedly inject these messages NUM times
(won't actually make additional physical copies unless you turn off the zimbraMessageIdDedupeCacheSize)
[files]:
Direct link to file in rfc822 format, or specify a directory.
Note: To get the dates correct you need to rewrite X-Zimbra-Received header see:
http://www.zimbra.com/forums/adminis....html#post4017
Method 3:
You can POST an RFC822 formatted message to your inbox REST url to append messages to the inbox folder. Using the popular curl program, this would look like the following:
curl -u username:yourpassword --data-binary @/tmp/rfc822.txt
https://server/service/home/username/inbox
Method 4:
Thick clients that can take .msg
Import EML and MSG email message files into Outlook
--
Remember there's no metadata (like tags/flags/read status) attached to these methods.
Wherever possible I would provide a 'recovered' directory in the user's accounts.
The folder structure can get confusing fast, and you'll hate yourself if you end up putting stuff in the wrong folders...
One alternative is instead of working in the live you could setup an isolated temp box, import everything make it look 'pretty' then imapsync the temp box user's recoveryfolder > live.
Best of luck, and I hope you don't have to go those tedious routes.