Emacs の Gnus メールグループのセットとして、数千の Thunderbird フォルダーをインポートするというアイデアを熟考しています。もちろん、各フォルダーには多くの電子メールが含まれています。各メールグループ名は、フォルダー階層から派生します。量が多いので作業がかなり面倒なので、可能であればこの大量のインポートを自動化したいと考えています。
利用可能なバックエンドの中で、この場合、nnfolderが最も有望なようです。Gnus 内からメールグループを作成する方がよいと思います。そうしないと、 nnfolder形式を完全に理解する必要があり、実際に正しく理解するには何度も繰り返す必要があります。さらに、電子メールが流入し続けると、何も失うことなく繰り返しを適切に整理することが難しくなる可能性があります。
選択されたメールグループが Thunderbird オリジンの関数であり、標準の Gnus 選択メカニズムをオーバーライドするという制約の下で、すべてを再プールする必要があると思います。私は過去にいくつかの Gnus コーディングを行いましたが、十数年間 Emacs に触れていなかったので、すべて非常に錆びています。このタスクにできるだけ効率的かつ迅速に取り組む方法について、私は少し迷っています。だから私の質問:あなたはそれをどのように扱いますか?それとも、もっと深く探究すべき巧妙な Gnus の隠れたコーナーがありますか? :-)
フランソワ
PSこの質問を書いた後、Gnus にはこの目標に向けて優れた支援機能があることがわかりました。アイデアは、最初にディレクトリ内のすべての Thunderbird フォルダー ファイルを~/Mailコンテンツ用としてコピーすることですが、適切に名前を変更します。これが完了すると、M-x nnfolder-generate-active-fileコピーされたフォルダごとに、内容を編集し、~バックアップを残し、NOV データを生成し、1 つのメールグループを作成し、もちろん~/Mail/activeファイルを調整します。
ディレクトリの下にフォルダーをコピーするために~/.thunderbird/LOGIN/Mail/Local Folders/、小さな Python スクリプトを作成しました。すべてのファイルを無視し、ディレクトリ.msf内で再帰します。.sbdを基準としたフォルダー パス名は、メールグループ名を生成するためLocal Folders/にすべての.sbd/文字列がピリオドに変換され、大文字と小文字が小文字に変換され、スペースと下線がダッシュに変換され、その他の特殊文字が適切に処理されます。特に、ASCII 以外の文字は適切に処理されず、nnfolderはあちこちで UTF-8 と ISO-8859-1 を混同しています。スクリプトもスキップする必要がmsgfilterrules.datあり、可能性が高いdraftsなどjunkです。
注意が必要な 2 つの詳細に気付きました。
- Thunderbird 自体を使用して、フォルダーをコピーする前に圧縮することができます。そうしないと、既に削除されたメッセージを不本意ながら回復する可能性があります。
(setq nnmail-use-long-file-names t)~/.emacs操作全体の前に必要です。
メッセージの 1 つを復号化できないため、バッチ変換が中止されました。問題のあるフォルダーを邪魔にならないように移動したところ、長い操作が成功しました。