解決はしていますけど、質問というわけでもないし、原因の究明もできないので こういう事が有ったという報告を雑談にあげただけです。
ちなみにHDは35GBぐらい空いています。
その後、つい先程ローカルフォルダ使用に戻して使っていますがローカルフォルダ未使用に変更後はエラーダイアログが表示されるという問題は出ていません。
念のためローカルフォルダの受信トレイは一度空っぽにして最適化はしましたけど。
やったことは、
ローカルフォルダ使用 → ローカルフォルダ未使用に変更、
ローカルフォルダ用のフィルタをバッチコマンドで各アカウント用にコピー。 ※1
各アカウントでフィルタの動作を確認。
上記の状態で約1日ほど使用。
その後 各アカウントの受信トレイのメールをローカルフォルダの受信トレイに移動。
各アカウントの受信トレイを空っぽの状態で最適化。
ローカルフォルダ使用に変更。
それ以外の設定は変えていません。
※1
最近、あまり使っていなかったんですが、以下のバッチコマンドを使用
引用:
バッチコマンドファイル名:AllCopy_msgFilterRules.bat
copy ".\Local Folders\msgFilterRules.dat" ".\msgFilterRules.bak"
copy ".\Local Folders\msgFilterRules.dat" ".\フォルダ名1\."
copy ".\Local Folders\msgFilterRules.dat" ".\フォルダ名2\."
copy ".\Local Folders\msgFilterRules.dat" ".\フォルダ名3\."
copy ".\Local Folders\msgFilterRules.dat" ".\フォルダ名4\."
copy ".\Local Folders\msgFilterRules.dat" ".\フォルダ名5\."
copy ".\Local Folders\msgFilterRules.dat" ".\フォルダ名6\."
copy ".\Local Folders\msgFilterRules.dat" ".\フォルダ名7\."
copy ".\Local Folders\msgFilterRules.dat" ".\フォルダ名8\."
copy ".\Local Folders\msgFilterRules.dat" ".\フォルダ名9\."
copy ".\Local Folders\msgFilterRules.dat" ".\フォルダ名10\."
pause
--''フォルダ名1等''は「mail」フォルダに見えているフォルダ名
このバッチコマンドを「mail」フォルダ直下に置いて実行する。
ローカルフォルダ使用/ローカルフォルダ未使用 の変更だけで状況が変わるというのは、
Thunderbirdってマルチスレッドの管理やファイルの排他制御がおかしいんですよ。ローカルフォルダ未使用のときは思いっきりマルチでpopの接続に行くんですが、フィルタと迷惑メールフィルタがマルチスレッドでの排他制御がうまく行っていないみたいです。
ローカルフォルダ使用でも迷惑メールフィルタが複数のアカウントでのpopの読み込みと同期が取れなくなるみたいで、シングルで動作しているはずなのに有り得ない「使用中」とかのダイアログが出ます。
スレッド間の同期(と排他制御)と迷惑メールフィルタの排他制御の両方に問題があるようです。この処理の間にフォルダの最適化が自動で走行してしまうと情報のアンバランスが発生して、受信トレイが見えなくなったり、メールボックスを壊してしまうトラブルが発生するんじゃないかと思ってます。
実はThunderbirdがマルチでpopの接続に行くというのは すごい事だと思ってます。
ただ、後付けで実装されたフィルタとか迷惑メールフィルタの動作とか、各フォルダの排他制御も含めて全てマルチスレッドで問題なく動作するように ちゃんとやって欲しい。
他OSとのソース共用ってのがネックなのかもしれませんけど、Windowsの場合はミューテックスを使ってちゃんと制御すればもう少し良くなるんじゃないかと思います。
受信トレイを壊したり見えなくなってしまうトラブルのほとんどの原因は排他制御の方法と手順に問題があるんじゃないかなぁ。
まぁ 一番楽な逃げ方は全ての処理において「マルチスレッドでの実行を許さない」ってのがありますけど。