我有一个 IMAP 邮件服务器,并使用 Thunderbird 作为客户端。我不明白使用 IMAP 和 POP 的客户端-服务器同步问题。我的 IMAP 服务器已满,因此我登录到服务器并删除了收件箱,以为 Thunderbird 有邮件的本地副本。
当我打开 Thunderbird 时,它会与 IMAP 服务器同步并将我的所有电子邮件标记为已删除。幸运的是,这些电子邮件仍然存在于 {path}/thunderbird/profile/default/INBOX 文件中。在网上搜索后,我编辑了该文件并将所有“X-Mozilla-Status:0001”更改为““X-Mozilla-Status:0000”。
当我重新启动 Thunderbird 时,电子邮件仍然不见了。有人知道如何恢复这些邮件吗?
答案1
我遇到了类似的问题 - 由于某种原因,一堆电子邮件从我的 IMAP 服务器上消失了,但仍保留在本地驱动器上的收件箱和已发送文件中。我无法强制 Thunderbird 将这些电子邮件直接还原到 IMAP 服务器上,因此我采用了另一种方法:
- 创建一个具有与 IMAP 相同凭据的 POP3 帐户,但确保该帐户无法连接 - 不要输入您的密码。
- 关闭 Thunderbird,然后导航到 /Profile/randomname.default/Mail/hostname_of_your_server/
- 仔细检查这确实是您新创建的虚拟帐户,而不是其他有价值但名称相似的 POP3 帐户。
- 复制包含已删除电子邮件的收件箱文件,覆盖虚拟帐户中的文件,并删除该虚拟帐户文件夹中的 inbox.msf 文件。
- 启动 Thunderbird - 注意,您已恢复所有电子邮件!已删除和未删除的电子邮件均可在虚拟 POP3 帐户中看到。
- 现在从这里获取 Thunderbird “删除重复项(备用)”扩展:删除重复项(替代)。
- 使用上述扩展,将 IMAP 收件箱设置为“设置原始邮件文件夹以供下次重复搜索”,然后在虚拟 POP3 收件箱上运行“删除重复项”。
- 将重复的邮件移至垃圾箱。
- 将剩余的邮件从 POP3 收件箱移至 IMAP 收件箱。Thunderbird 将自动将所有邮件重新上传到 IMAP 服务器。
完毕!
答案2
IMAP 和 POP 不一样!POP 是一种传输协议,将电子邮件从服务器拉到客户端。IMAP 是一种同步协议,将电子邮件保存在服务器上,并且通常会保留本地缓存版本。
IMAP 有两个阶段的删除,但大多数客户端不会将它们分开。它们是:标记为已删除和清除已删除。正如我提到的,大多数客户端同时执行这两个步骤。
一旦电子邮件从服务器中清除,它就应该从任何本地缓存中清除,并在下次同步时永久删除电子邮件。更改缓存不会更改服务器。
意外是您进行良好备份的原因;这样您就可以恢复电子邮件。
答案3
这是一个不需要您创建新的弹出帐户的解决方案。
如果您的邮件不是很多或者整个文件夹都被清空了,那么这很好。
- 首先:一定要备份!为此,只需将位于 (Linux) ~/.thunderbird/[random].default 的配置文件复制到其他位置即可。
- 导航到位于 (Linux) .thunderbird/[random].default/ImapMail/[accountname] 的 imap 配置文件
- 将文件夹(不带 .msf 扩展名的文件)复制到位于 .thunderbird/[random].default/Mail/Local Folders 的本地 thunderbird 文件夹
- 重新启动 thunderbird 并检查您的本地文件夹。
- 现在,您只需将邮件拖放到 IMAP 配置文件即可
我们注意到有些邮件在新的本地文件夹中出现了两次,但其中只有一封被标记为未读。因此您可以轻松过滤它们。
答案4
所以我登录服务器并删除了
你的意思是你通过 ssh 进入了服务器?这是什么类型的服务器?如果它运行的是快照文件系统,那么可能可以从快照中恢复收件箱……