is there a way to (programmatically) repair all local folders? (i.e., right-click a folder, select properties, then click the "repair folder" button.)
there are certain troubleshooting steps to fix certain issues with thunderbird.
one such step is rebuilding the global database: https://support.mozilla.org/en-US/kb/rebuilding-global-database
unfortunately, some actions, such as compacting folders, or more "extensive" methods to fix thunderbird from hanging, often causes local folders to be corrupt and/or broken.
this has the negative affect of preventing email filters from working automatically. often resulting in a warning message that the email message could not be moved to a local folder, and that repairing that folder should solve the issue (which it does).
for individuals such as me who have many email filters and many many local folders, repairing each and every folder is time-consuming and tedious.
i'd really like a way to "repair all folders" to be a functional part of thunderbird, which it isn't. i also haven't found any addons that perform such an action.
SO... I'm hoping that there is already a way to repair all folders, and that someone can explain to me how to do that.
If not, i am a software developer, perhaps someone can point me in the direction of me figuring out how to implement such an addon?
thanks, Chris
所有回复 (8)
"Programmatically" and 'Thunderbird" don't sit together too well. It has no automation or scripting tools.
But I am concerned that you consider these somewhat drastic measures as routine operations. I'd be more interested in looking into why you need to rebuild and repair so often.
The simplest way to get Thunderbird to rebuild msf files is to delete them. So you could launch Thunderbird using a batch file or shell script that deletes the msf files either before or after running the Thunderbird executable. I'd be extremely reluctant to do this myself, because msf files also store column layout arrangements and some other flags.
Easiest method that comes to mind is a Powershell (PS) script(let).
While this initially looks to be hard or tedious ( it is slightly tedious, even for an advanced user) it is portable as well. But in a nutshell, take a look at the log of what commands are executed when you do it manually and put those in order in a script, then have a variable (or several) for your filters and iterate the script thru them.
Corey 'linuxmodder' Sheldon said
But in a nutshell, take a look at the log of what commands are executed when you do it manually and put those in order in a script...
great idea!
might you be able to mention where the commands log of thunderbird is located?
If you simply want to blow away .msf files, there is Thunderplunger addon.
But zenos' comment is spot on - if you have a persistent issue then you should get to the cause rather than treating the symptoms. File a bug report https://bugzilla.mozilla.org/enter_bug.cgi?product=Thunderbird
bug report filed: https://bugzilla.mozilla.org/show_bug.cgi?id=1394285
thank you.
Zenos said
But I am concerned that you consider these somewhat drastic measures as routine operations. I'd be more interested in looking into why you need to rebuild and repair so often. The simplest way to get Thunderbird to rebuild msf files is to delete them. So you could launch Thunderbird using a batch file or shell script that deletes the msf files either before or after running the Thunderbird executable. I'd be extremely reluctant to do this myself, because msf files also store column layout arrangements and some other flags.
I agree. I don't like the idea of deleting files used by a program in order to provide a fix for the program.
in the past, I have had issues with thunderbird being painfully slow or simply hanging. from my experience, that happens over time when thunderbird manages are large amount of file folders and email messages.
The two mentioned solutions i've seen to deal with the thunderbird hanging issue has been to deleting the lobal-messages-db.sqlite file, and deleting the msf files.
those two methods did solve thunderbird being painfully slow and hanging.
however, deleting the msf files resulting in another issue: automatic processing of email messages by email filters no longer works, and the error message suggests that the local folder destination of an email filter must be repaired.
So 1st way to get to a situation where all local folders must be repaired is the series of events described previously.
The 2nd and 3rd ways to get into the "all local folders must be repaired" are: 1. after having made a backup of thunderbird with mozbackup, and then restorting a backup with mozbackup, causes this issue. 2. any attempt to transfer thunderbird from one computer to another also causes this issue.
I began posting my forum help question and a bug in bugzilla again because I recently had to deal with cause #2. and I'm slowing repairing each and every folder with my thunderbird installation on the different computer.
由crichmon于
File > compact folders. Side effect of compacting is a full rebuild of the index MSF files.
But 1 ans 2 might be a side effect of trying to make backups while Thunderbird is running in the background. (with or without a GUI)
> The two mentioned solutions i've seen to deal with the thunderbird hanging issue has been to deleting the global-messages-db.sqlite file, and deleting the msf files.
Those are commonly mentioned. I can say, that deleting global-messages-db.sqlite would help only in truly rare conditions and therefore for most people have no effect.
Deleting msf files certainly has proven to be helpful in many cases. What is disturbing, is we don't know why. But from a product POV that is what we must achieve.
Compact folders might help with folders which have deleted messages. But I can envision that not all corrupted folders necessarily have deleted messages.
I also failed to point you to the kitchen sink of performance issues https://wiki.mozilla.org/Thunderbird:Testing:Memory_Usage_Problems