答案1
事实证明,这实际上与客户端有关,而不是与 Dovecot 有关。长话短说,OSX 和 iOS 中的邮件应用程序实际上使用的是mtime
邮件文件的文件系统,而不是邮件Date
或Delivery-date
标题的文件系统。
解决方法(虽然有点黑客风格)是编写一个快速脚本来读取适当的标题和touch
所有文件以更正mtime
文件,然后清除所有 Dovecot 缓存文件以重新索引文件。
答案2
我相信 Dovecot 使用 Date: 标头。我在移动没有 Date 标头的邮件时遇到了这个问题。有些邮件来自旧邮件系统,但大多数邮件来自“已发送”文件夹。相对较少的邮件是由未确保 Date 标头存在的服务器发送的。
您可以通过添加标头并强制其重新索引文件夹来解决此问题。您可以使用formail
实用程序添加日期标头。您可能需要链接命令并为固定电子邮件创建一个新目录。如果您有 Maildir 格式的存储,您可能能够将 cur 子目录移动到新名称(如 old),然后重写回 cur。