![为多个帐户创建可离线搜索的电子邮件存档](https://linux22.com/image/1445097/%E4%B8%BA%E5%A4%9A%E4%B8%AA%E5%B8%90%E6%88%B7%E5%88%9B%E5%BB%BA%E5%8F%AF%E7%A6%BB%E7%BA%BF%E6%90%9C%E7%B4%A2%E7%9A%84%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%E5%AD%98%E6%A1%A3.png)
我想创建一个可以查看和搜索的离线邮件存档。存档将包括收件箱和已发送邮件。
我的主要操作系统是 Windows XP 32 位(我比较落后,但我计划升级到 7、8 或 10,并且是 64 位),所以我用来阅读和搜索邮件的软件需要是 Win32 图形应用程序。
我家里有一个 Linux 播放盒(我在其中运行 getmail cronjob 来获取新邮件),但我想避免包含(本地)服务器(例如 IMAP)。虽然如果优点大于缺点,我可能会使用它。
我有 25 个邮件帐户需要查看和搜索,但其中只有 5 个仍处于活动状态(发送和接收邮件)。大多数邮件都位于 mbox 和 maildir 中。我还没有将所有邮件集中到一个位置,所以我不知道我们谈论的邮件数量。我首先想到的是,所有邮件的大小都在 10GB 以下。
我接受可能需要保留两份档案的可能性。一份存放在“冷”存储中,不会被访问;另一份存放在“实时”存储中,会被读取和搜索。
我唯一想到的办法是将所有邮件导入 Thunderbird 并希望它能处理。但我需要在收到新邮件时导入,这是我不想做的一项劳动密集型工作。另一个办法是使用 IMAP 服务器并指示 Thunderbird 不要将邮件保存在本地(我需要找到一种方法来为每个帐户设置 IMAP 文件夹,而不是运行 25 个帐户)。
我想阅读关于可以使用什么方案和什么软件来设置它的提案。如果您愿意,您也可以分享您自己运行的系统,我可以从中汲取灵感。
答案1
我使用 IMAP 应用程序从服务器获取旧消息,将消息复制到本地文件系统,并将消息元数据写入 Mysql 数据库。然后从用户的邮箱中删除这些消息。
当用户想要恢复一封或多封邮件时,他们可以使用 HTML 浏览器搜索元数据。使用 IMAP APPEND 命令将邮件重新插入到用户的邮箱中。