Move messages to local folder fails
I'm using thunderbird-38.5.0 (the most recent version supported in my distro's packages) on a gentoo Linux system: Linux 3.12.21-gentoo-r1 Core(TM) i7 CPU
My ISP changed email arrangements and in the migration they put all messages from the last six+ years in my new IMAP account. It's not clear just how many messages that represents, but it's a lot. More on that later. The only reasonable way I know of to clean up the mess is to set up message filters to dispatch emails to a number of local folders. When Thunderbird runs, it says its downloading 1201 of 797722 headers. Actually, after a short time the 1201 remains constant, but the 797722 bobbles around randomly between 700000 and 800000. I don't really believe there are nearly that many headers actually there, but that's what it says. The error console reports many repetitions of the following:
Error: uncaught exception: 2147746065
Error: [Exception... "Component returned failure code: 0x80550005 [nsIMsgFolder.getStringProperty]" nsresult: "0x80550005 (<unknown>)" location: "JS frame :: chrome://messenger/content/folderPane.js :: getSmartFolderName :: line 2790" data: no] Source File: chrome://messenger/content/folderPane.js Line: 2792
Error: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIMsgFolder.getStringProperty]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: chrome://messenger/content/folderPane.js :: getSmartFolderName :: line 2790" data: no] Source File: chrome://messenger/content/folderPane.js Line: 2792
Error: [Exception... "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIMsgFolder.getStringProperty]" nsresult: "0x80070057 (NS_ERROR_ILLEGAL_VALUE)" location: "JS frame :: chrome://messenger/content/folderPane.js :: getSmartFolderName :: line 2790" data: no] Source File: chrome://messenger/content/folderPane.js Line: 2792
There are some others complaining about obsolete UTF-8 encodings.
Thunderbird alternately grinds on the ethernet (downloading from the server) and grinds the CPU, all the while producing the error messages. This goes on for 12 hours or more, then Thunderbird finally segfaults and dies.
There is plenty of room on the disk for folder storage, many gigabytes.
I've also tried doing this manually (i.e. without message filters. Instead, selecting blocks of messages and moving them to the local folders.) This also does not work. Similar error messages are generated, and after a few moves Thunderbird stops doing anything at all: the moves appear to complete, but the messages are not removed from the incoming mail folder and the preview pane stops displaying anything. Attempts to repair the incoming IMAP folder exhibits the behavior described above (ethernet activity, cpu grinding, error messages and eventually segfault).
Any ideas for paths forward?
-- Greg
所有回覆 (1)
This is only an idea, and I'm only an amateur. I gather that the way Thunderbird works, it stores all the messages in a single folder as a single file. They are displayed as separate messages in the email list, and can be accessed individually to be read, forwarded etc., but actually there's just one file for each folder. (You can verify this if you look at Thunderbird mail files with a text editor.) So when you ask it to download a huge number of messages into your Inbox, and then automatically transfer them to other folders, you're asking it to be constantly writing and re-writing massive text files. And while, in theory, that's what computers are supposed to be able to do, I've always found them rather fallible machines. Certainly the advice for users of Thunderbird is to keep folders small and remove clutter: http://kb.mozillazine.org/Keep_it_working_%28Thunderbird%29 So, in your situation, I would be trying to minimise the load on Thunderbird by doing as much as possible on the email provider's server. Could you, for example, log in to their webmail and create a whole series of folders, and sort all the old messages first into sensible groups (e.g. by month, year)? Don't -- at this stage -- synchronise them with Thunderbird, just organise them into manageable groups. Then you could synchronise those folders with Thunderbird one at a time, which would download them to your machine. You could then, if you wish, copy them into local folders -- though personally I don't see there is much benefit in that, unless there is some size limit on the server that you have to observe.