我可以从maildir cur文件夹中删除或移动邮件文件吗?


10

我最终得到了一个包含350,000个文件的cur文件夹。太多了,我找不到管理它们的邮件程序。在同一台服务器上尝试过部落,但出现错误。

我可以手动删除或移动其中一些文件(shell)吗?还是会产生其他问题(索引编制)?

我的第一个目标是每年获得存档文件夹。否则,我只需要删除较旧的文件,直到大小再次变得可管理即可。

Answers:


12

是的,您可以手动从该文件夹中删除文件。Dovecot旨在假定除自身以外的其他软件也可以操纵Maildir文件夹,包括添加,删除和重命名(冒号后的文件名部分)。它将在通知后立即相应地更新索引。

为了避免删除这些邮件顾左右而言他,你也可以使用普通的shell工具(mvmkdir,等...),以:

  • 将它们分成多个较小的文件夹
  • 将它们移到临时位置,然后再以较小的可管理大小将其重新移入
  • 使用一个好的IMAP客户端可以同步文件夹内容而无需下载所有文件。(不幸的是,好的电子邮件客户端供不应求。它们全都糟透了。有的只是少吸些。

相反,如果将Dovecot与dbox一起使用(sdbox或mdbox),则不应尝试此操作。在这种情况下,可以使用doveadm命令来操作邮箱内容,而无需使用电子邮件客户端。


非常感谢。关于手动移入文件夹。这些文件夹可以在maildir结构中吗?还是应该在其他地方创建它们?
亨利

1
是的,你可以有效地定期创建新的IMAP文件夹mkdir,因为Maildir的文件夹是其中会包含三个子目录名为只是普通的POSIX目录curnewtmp。请注意安装Dovecot所使用的命名结构,以了解如何命名此类目录才能使其被Dovecot识别。基本上,我建议LAYOUT=fs在您的Dovecot配置中使用它,因为IMAP文件夹是直接以目录命名的,因此更直观。
Celada's

的确如此,以至于他们都糟透了。在imap服务器上处理电子邮件的工具很少,实际上我只知道嵌入在mutt中的那个工具,并且在大多数服务器上都不容易工作。诸如offlineimap和mbsync之类的其他仅执行同步,即使执行不正确。例如,没有人使用电子邮件标题中的Message-ID来检查是否应该下载它。
user1850133

3

您可以为此使用dovecot自己的工具,例如doveadm move。您可以使用搜索查询来选择邮件。

这将选择日期范围内的所有邮件,并将其移至存档

doveadm move -u jane Archive/2011/09 mailbox INBOX BEFORE 2011-10-01 SINCE 01-Sep-2011

要只搜索而不执行操作,请使用搜索命令

doveadm search -u jane mailbox INBOX BEFORE 2011-10-01 SINCE 01-Sep-2011
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.