Mass Thunderbird文件夹到Gnus nnfolder转换

时间:2011-11-23 02:48:09

标签: directory thunderbird gnus

我正在考虑导入几千个Thunderbird文件夹的想法,当然每个文件夹包含许多电子邮件,作为一组Emacs的Gnus邮件组。每个邮件组名称都将从文件夹层次结构派生。由于数量,工作将相当繁琐,所以如果可能的话,我会自动进行大量的导入。

在可用的后端中, nnfolder 似乎是最有希望的。我认为从Gnus中填充邮件组会更好。否则,我必须彻底了解 nnfolder 格式,这可能需要多次迭代才能真正做到正确。此外,随着电子邮件继续流入,迭代可能变得难以正确组织而不会丢失任何东西。

我想我必须 respool 一切,在所选邮件组是Thunderbird起源函数的约束下,覆盖标准Gnus选择机制。我过去做了一些Gnus编码,但由于我没有接触Emacs十几年,所以它都非常生疏。关于如何尽可能高效,快速地完成这项任务,我有点迷茫。所以我的问题是:将如何处理它?还是有一些聪明的Gnus隐藏的角落,我应该更深入地探索? : - )

弗朗索瓦

P.S。 在我写完这个问题之后,我发现Gnus对这个目标有很好的帮助作用。我们的想法是首先复制~/Mail目录中的所有Thunderbird文件夹文件,因为它们用于内容,但已正确重命名。完成此操作后,M-x nnfolder-generate-active-file会立即为每个复制的文件夹执行操作,编辑内容,保留~备份,生成NOV数据,创建一个邮件组,当然还要调整~/Mail/active文件。

要复制~/.thunderbird/LOGIN/Mail/Local Folders/目录下的文件夹,我编写了一个小的Python脚本。它忽略所有.msf个文件,并在.sbd个目录中递归。相对于Local Folders/的文件夹路径名称将其所有.sbd/字符串转换为生成邮件组名称的句点,还可以降低大小写,将空格和下划线转换为破折号,并适当地处理其他特殊字符。特别是,非ASCII字符处理不当, nnfolder 在这里和那里混淆了UTF-8和ISO-8859-1。该脚本还必须跳过msgfilterrules.dat,可能会draftsjunk等等。

我注意到需要注意的两个细节:

  • Thunderbird本身可用于在复制文件夹之前压缩文件夹,否则可能会不情愿地恢复已删除的邮件。
  • 在整个操作之前(setq nnmail-use-long-file-names t)需要
  • ~/.emacs

批量转换中止,说它无法解密其中一条消息。我将有问题的文件夹移开了,然后,冗长的操作成功了。

0 个答案:

没有答案