Join the AMA (Ask Me Anything) with the Firefox leadership team to celebrate Firefox 20th anniversary and discuss Firefox’s future on Mozilla Connect. Mark your calendar on Thursday, November 14, 18:00 - 20:00 UTC!

搜索 | 用户支持

防范以用户支持为名的诈骗。我们绝对不会要求您拨打电话或发送短信,及提供任何个人信息。请使用“举报滥用”选项报告涉及违规的行为。

详细了解

is there a way to (programmatically) repair all local folders? (i.e., right-click a folder, select properties, then click the "repair folder" button.)

  • 8 个回答
  • 1 人有此问题
  • 9 次查看
  • 最后回复者为 Wayne Mery

more options

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

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)

more options

"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.

more options

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.

more options

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?

more options

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

more options
more options

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于修改

more options

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)

more options

> 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