為了改善您的使用體驗,本網站正在進行維護,部分功能暫時無法使用。若本站的文件無法解決您的問題,想要向社群發問的話,請到 Twitter 上的 @FirefoxSupport 或 Reddit 上的 /r/firefox 發問,我們的社群成員將很快會回覆您的疑問。

搜尋 Mozilla 技術支援網站

防止技術支援詐騙。我們絕對不會要求您撥打電話或發送簡訊,或是提供個人資訊。請用「回報濫用」功能回報可疑的行為。

了解更多

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 有這個問題
  • 1 次檢視
  • 最近回覆由 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