IMAP:当邮件从服务器删除时在本地保存邮件

IMAP:当邮件从服务器删除时在本地保存邮件

场景如下:

  • 空间较小的 IMAP 服务器(例如 1GB)
  • 相当多的 IMAP 客户端(例如 2 部手机、1 部平板电脑、3 台 PC)以及 Thunderbird 38.3 或更高版本等电子邮件客户端

我想要实现的是:

  1. 所有 PC 客户端都应保留邮件的完整副本(而不仅仅是邮件头)
  2. 所有 PC 客户端都应在本地保存远程删除的所有消息(即,在同步后,先将整封邮件从其自己的 IMAP 文件夹中删除,然后再将其移至本地文件夹)

这样,就可以节省 IMAP 服务器的空间,同时在每台 PC 上保留所有(完整)消息的本地副本(前提是当从非 PC 客户端删除电子邮件时 PC 客户端会同步 - 避免从非 PC 客户端删除可能是确保本地副本完整的一种解决方法)。

我发现了一些解决类似情况的相关问题(例如),但没有一个能解决这个问题。

我相信这是一个相当普遍的需求,所以我希望一些电子邮件客户端专家,希望是 Thunderbird,能够提出解决方案。

答案1

您可以在客户端的 PC 上使用 POP3 代替 IMAP,或者至少在一台 PC 上使用。默认情况下,POP3 会下载所有电子邮件,并且如果服务器上的电子邮件被删除,它也不会删除(不进行同步,只下载电子邮件),因此您可以将所有邮件下载到本地,并在需要时手动删除它们。这里这两个协议有什么区别

让非 PC 客户端使用 IMAP,因为它更方便同步,如果删除了某些邮件,您可以在使用 POP3 的 PC 上找到它们

答案2

在找到更好的解决方案之前,我猜最好的解决方法是在需要时手动存档旧邮件(例如,当 IMAP 服务器配额限制即将达到时)。当然,您必须为每个 IMAP 帐户激活将邮件存档到本地文件夹的功能(这是在选择邮件时显示“存档”命令按钮所必需的)。

我也尝试了一些插件,比如超棒的自動檔案自动存档重新加载,但两者都不令人满意:第一个在配置期间给了我一个错误,第二个如果手动运行会更安全。

我希望有一天 Thunderbird 能为 IMAP 帐户添加一个“简单”选项,当配额限制即将达到时,该选项能够自动存档旧邮件。我真的很想知道为什么 IMAP 帐户的如此重要功能尚未实现。

答案3

您可以创建一个 Thunderbird 过滤器,将消息从 IMAP 文件夹移动到本地文件夹。

无论如何,“IMAP 存档器和删除器”似乎是互联网社区至少 10 年来迫切需要的,不知道为什么到现在还没有解决方案。我目前正在这里工作:

https://jumpjack.wordpress.com/2016/03/10/come-cancellare-migliaia-di-email-dai-server-libero-in-un-colpo-solo/

我的最终目标是:

1)建立一个 Excel 工作簿,自动执行删除大量消息和/或下载它们的任务。

2) 对于那些没有安装 MS Office 的用户来说,将此类工作簿转换为独立的 VBS 脚本。

3)创建一个 PHP 页面,为所有人执行此类任务,无论 Windows/Mac/Linux

我首先已经达到了良好的状态,其他状态还有待提高。

与此同时,这里有一些有用的命令可以手动操作你的 IMAP 服务器:

连接:

telnet imap.xxxx.yyyy  143 -f log.txt

登录:

. login user pass

列出可用的文件夹:

. list "" *

进入文件夹:

. select foldername

将 1 至 15 条消息标记为已删除:

. store 1:15 +FLAGS \Deleted

它们将会实时从 Outlook 中消失。

撤消上面的操作(减号):

. store 1:15 -FLAGS \Deleted

(它们将会在 Outlook 中重新可见)。

将此类邮件移至垃圾文件夹(否则它们将不可见,而不会被删除):

. move 1:15 trash

实际删除消息:

. select trash
. expunge

您还可以将所有命令粘贴到 telnet 窗口中以执行它们:

. select inbox
. store 1:15 +FLAGS \Deleted
. move 1:15 trash
. select trash
. expunge

为了避免“盲目删除”,您需要知道从 1 条到 15 条消息的内容。

. fetch 1:15 ( flags body[header.fields (subject date)])

答案4

每当我的 IMAP 收件箱几乎满了时,我都会使用 Thunderbird 中的“存档”操作将电子邮件从 IMAP 文件夹手动移动到我保存在 Dropbox 文件夹中的本地文件夹。

因此,我在 IMAP 服务器上保存了最多 1 GB 的重要/近期邮件(因此可以在手机上使用),并且本地文件夹中的所有其他存档(或复制)电子邮件都通过 Dropbox 在 PC 之间同步,并可供所有安装了 Thunderbird 的 PC 使用(或者您也可以使用便携版本)。(如果您更改存档的电子邮件状态或标签,也会立即同步到所有其他实例。)Dropbox 还为您提供所有文件至少 30 天的版本历史记录,以防出现任何问题。

但请记住,Thunderbird 仍然有一个令人讨厌的 IMAP 移动/存档错误,如果您在离线模式下不执行移动操作,可能会导致数据丢失: https://bugzilla.mozilla.org/show_bug.cgi?id=462156

因此您应该手动复制/验证/删除,而不是移动/存档。

相关内容