DJA wrote:
I think I accidentally deleted all the email in one Thunderbird
account's Inbox folder. And of course, because I didn't know I'd done
it, I also emptied the Trash folder. I'd like to get that mail back.
I have backed up both the Inbox, Inbox.msf, Trash, and Trash.msf
folders. Given their size, I can see that they probably still contain
the recently deleted email. I can also read the contents of both the
Inbox and Trash folders.
I've done the "Change the X-Mozilla-Status: value to 0000 thing" but
that does not seem to have any effect. I suspect that there is some
combination of mechanisms in MTB (Thunderbird) whereby not only is mail
in the original folder (Inbox) marked as deleted, but it's also marked
as deleted in the Trash folder. Maybe even somewhere else as well.
It looks like I have a few options:
1) find out how to make MTB see the mail normally (i.e. undelete it),
2) copy each email from the mbox file to a compose window and resend it
to myself,
3) figure out how to import the mbox file's contents back into MTB,
maybe using something like Mutt as an intermediary?,
4) ???.
Any suggestions on how any of those methods might be accomplished or
better alternatives to those will be greatly appreciated.
It looks like the solution is Option (1) above, in two parts:
Part One
I found no luck in mucking with the mbox files in their owning
directories. So I figured they needed to be in as close to a virgin
environment as possible. Creating a new subfolder in the existing
account's tree doesn't work. User-created subfolders do not seem to get
their own folders or files, so there is nowhere to copy the problem mbox
files.
Instead, I created a dummy email account (Inbox_maintenance), with a
dummy user (dummy@<IN_address>. This created an empty directory
structure for that account. Next I shut down Thunderbird.
I then copied the problem Inbox, Inbox.msf, Trash, and Trash.msf files
to the Inbox_maintenance account (overwriting the existing files).
Edit the transplanted files, changing the X-Mozilla-Status: nnnn values
to reset the 8 bit, and only the 8 bit on the LSB of the nnnn part of
the string. That is, if nnnn = 001b, then change it to 0013; change 0008
to 0000, etc.
Restart Thunderbird.
This caused the deleted email to become undeleted again. This works for
both the Inbox and Trash mbox files. I suppose that one need not
transplant the .msf files as MTB will just rebuild those on start anyway.
Part Two
There's no way I want to manually and individually do the above
procedure for the 5-10 thousand emails in just the Inbox file alone, let
alone that plus the 3+ MB in the Trash folder. So I need to automate the
above procedure. I'm neither a scripting nor a Perl (or whatever)
expert, so I'd appreciate any recipes for scripting/programming the
change to the X-Mozilla-Status variable as shown above.
Here is a list I found showing the possible values of X-Mozilla-Status:
my $MSG_FLAG_READ = 0x0001;
my $MSG_FLAG_REPLIED = 0x0002;
my $MSG_FLAG_MARKED = 0x0004;
my $MSG_FLAG_EXPUNGED = 0x0008;
my $MSG_FLAG_HAS_RE = 0x0010;
my $MSG_FLAG_ELIDED = 0x0020;
my $MSG_FLAG_OFFLINE = 0x0080;
my $MSG_FLAG_WATCHED = 0x0100;
my $MSG_FLAG_SENDER_AUTHED = 0x0200;
my $MSG_FLAG_PARTIAL = 0x0400;
my $MSG_FLAG_QUEUED = 0x0800;
my $MSG_FLAG_FORWARDED = 0x1000;
my $MSG_FLAG_PRIORITIES = 0xE000;
--
Best Regards,
~DJA.
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list