Dovecot 覆盖/重置交货日期

Dovecot 覆盖/重置交货日期

去年迁移托管服务提供商后,我收到的许多电子邮件都显示迁移的“日期”,而不是邮件传递日期,见截图:

在此处输入图片描述

该日期同时显示在我的本地客户端(OS X 10.11.6 和 iOS 10 beta 中的 Mail.app)和网络邮件(Roundcube)上。

后端邮件服务器是多夫科特,并且 Maildir 目录中的所有消息都具有正确的Delivery-date标题。

有什么方法可以纠正这个问题,或者让 Dovecot 重新读取或重新编译其消息数据库?

答案1

事实证明,这实际上与客户端有关,而不是与 Dovecot 有关。长话短说,OSX 和 iOS 中的邮件应用程序实际上使用的是mtime邮件文件的文件系统,而不是邮件DateDelivery-date标题的文件系统。

解决方法(虽然有点黑客风格)是编写一个快速脚本来读取适当的标题和touch所有文件以更正mtime文件,然后清除所有 Dovecot 缓存文件以重新索引文件。

答案2

我相信 Dovecot 使用 Date: 标头。我在移动没有 Date 标头的邮件时遇到了这个问题。有些邮件来自旧邮件系统,但大多数邮件来自“已发送”文件夹。相对较少的邮件是由未确保 Date 标头存在的服务器发送的。

您可以通过添加标头并强制其重新索引文件夹来解决此问题。您可以使用formail实用程序添加日期标头。您可能需要链接命令并为固定电子邮件创建一个新目录。如果您有 Maildir 格式的存储,您可能能够将 cur 子目录移动到新名称(如 old),然后重写回 cur。

相关内容