|Index > Scribe > Format of .mail2 file.|
|Author/Date||Format of .mail2 file.|
|Hey there, my mom seems to have lost a ton of her emails because of an accidental reboot while iScribe was open. All of her sent mails are fine, but the others (in inbox and another folder) aren't coming up. Could you maybe tell me how the mail2 file is formatted? I'd like to write some sort of blind retrival program (say, export to mbox format), so even if it didn't work, I should be able to get a bunch of 'em out of it. Doing it by hand is a daunting task because she has several hundred emails.
Not so good.
Ok, firstly there is a tool for editing the folder file at a fairly low level which is probably the first port of call. So I'll clean that up and post it on the site this week. This might be able to re-attach the missing mail to a folder so that you can access them.
The file format is not that complicated so I'll try and document it over the next week and I'll post that too. It's like a simple file system, with directories listing files which are the email and contacts etc. The email is a property list, Subject, To, From etc.
So take a backup of the folder before you change anything in it, esp. don't compact it until you've recovered all the email you want because that will remove "unused" space like unattached email.
|Thanks a lot fReT. :)
This is the second time this has happened, but the first time I managed to retrieve all the [important] files by hand. I told her to compact regularly and shut the computer down and all would be fine, and it was (before, she wasn't doing that).
Anyway, I'll keep an eye out for this program.
BTW, iScribe is quite a nice program, especially for older slower computers like my moms (p133 24mb; iScribe runs perfectly on it), so I'm glad there exists someone out there like you giving away such a program for free. :)
|Ok, I've finally got around to making available the required documentation for the mail folder format.
Here ya go:
format.txt (Read first)
Obviously, any questions let me know.
|Not only do you get documentation! But I've written some EXAMPLE CODE too!
FolderDump.cpp. (there is a Linux makefile in the same dir).
It dumps the contents of the folders.mail2 but it won't load the data for you, it just shows you how to get to it. What you do with the data there is up to you. You'd still have to read the docs and load the data according to the types I've set up.
|This might not be obvious, but if your folders are not showing email you know is there, then they may be orphaned.
i.e. if the links to those items are lost then the data is still there (at least until you compact) but you won't find it by recursively loading the tree.
What you'd have to do is scan the file for the MAGIC numbers denoting nodes and then do a consistancy check on that location to see if it's a valid node or just some random data with the same value.
|I've updated folder dump to scan folders and export to a clean folder file.
The post is here.