我使用 postfix,为什么我的 Maildir 包含 14,000 个文件?

我使用 postfix,为什么我的 Maildir 包含 14,000 个文件?

当我准备删除服务器时,我想,我应该清理我的Maildir目录,以防万一。它可能包含一些带有密码等的电子邮件,所以我不希望其他人可以读取它们。我使用了以下命令行:

find Maildir/ -type f -exec shred -u {} \;

令我惊讶的是,几分钟后该命令行仍未返回。因此我运行了另一个命令来查看下有多少个文件Maildir

find Maildir/ -type f | wc
  14736   17737 1394113

是的。一共有 14,736 个文件。

Postfix 出了什么问题?

我使用 thunderbird 作为客户端,但这不会影响服务器的工作方式。那么为什么要创建并保存所有这些文件呢?

举个例子,我在 Thunderbird 中有一个名为“Blogs”的文件夹,其中有一个名为“Warriors”的子文件夹。当我查看 Thunderbird 时,该文件夹肯定是空的。当我查看我的Maildir文件夹时,我看到两个文件。我的真实印象是 Postfix 不会删除我在 Thunderbird 中删除的电子邮件。可能是这样吗?下面的两个文件是前段时间删除的,但近 3 个月后它们仍然在我的邮件服务器上......

Maildir/.Blogs.Warriors/cur:
total 16
drwx------ 2 alexis alexis 4096 Feb  8 00:10 .
drwx------ 6 alexis alexis 4096 Feb  8 00:03 ..
-rw-r--r-- 1 alexis alexis 2727 Feb  5 00:02 1486252970.M453258P14727V0000000000000800I00000000001E4FDE_9.m2osw.com,S=2727:2,ST
-rw-r--r-- 1 alexis alexis 2646 Feb  8 00:02 1486512185.M350097P2621V0000000000000800I00000000001E4F7B_84.m2osw.com,S=2646:2,ST

答案1

首先,Postfix 与此无关,因为它是一个邮件传输代理,并且已经传递给的消息Maildir邮件用户代理(例如 Thunderbird)最有可能(并且希望)通过IMAP 服务器(例如 Dovecot)。

删除 IMAP 帐户上的邮件只会设置旗帜将其标记为删除并隐藏起来。该文件不会立即从Maildir,但现在2.T文件名中有一个标志:

信息以...开头2,:逗号后的每个字符都是一个独立的标志。

  • 旗帜P已通过):该用户已将该消息重新发送/转发/退回给其他人。
  • 旗帜R回复):该用户已回复此消息。
  • 旗帜S看到):用户已经查看了此消息,但可能并未全部读完。
  • 旗帜T被丢弃):用户已将此消息移至垃圾箱;垃圾箱将由用户稍后的操作清空。
  • 旗帜D草稿):用户认为此消息为草稿;由用户自行决定是否启用。标志“F”(已标记):用户定义的标志;由用户自行决定是否启用。

您的两个示例文件:2,ST的名称中都有标志,表示它们已被看到被丢弃

您可能会觉得有些困惑,但“已删除”消息实际上被复制到了垃圾文件夹。从技术层面上讲,您最终会在服务器上拥有该文件的两个副本,而 GUI 则相反。这在以下情况下更有用:mbox格式因为只保存元数据所需的磁盘 I/O 比立即删除包含整个邮箱的可能巨大的文件中间的一条消息要少。


通常你应该清除使用 IMAP 客户端从文件夹中删除所有邮件,但在这种情况下,这并没有什么区别,因为shred无论如何,这些邮件都会被删除(或被覆盖)。

雷鸟称这种净化为压缩,但与压缩无关。

  • 右键单击单个文件夹并选择袖珍的以便清除它。

  • 您可以一次压缩所有文件夹文件>紧凑文件夹

  • 您可以自动清除选项>先进的>网络和磁盘空间> [x]压缩所有文件夹以节省[20]总计 MB

现在您已经了解了Maildir举报的工作原理,您可以轻松地清除服务器端也会自动删除。只需查找并删除所有包含 的消息2,ST即可,可能仅当该消息的存储时间超过n天时才删除。

相关内容