Craig Watson Asked: 2016-08-16 00:29:56 +0800 CST2016-08-16 00:29:56 +0800 CST 2016-08-16 00:29:56 +0800 CST Dovecot 覆盖/重置交货日期 772 去年迁移托管服务提供商后,我收到了许多显示迁移“日期”的电子邮件,而不是邮件发送日期,请参见截图: 这个日期显示在我的本地客户端(OS X 10.11.6 和 iOS 10 beta 中的 Mail.app)和网络邮件(Roundcube)上。 后端邮件服务器是Dovecot,并且 Maildir 目录中的所有邮件都有正确的Delivery-date标头。 有没有办法纠正这个问题,或者让 Dovecot 重新读取或重新编译它的消息数据库? email dovecot 2 个回答 Voted Best Answer Craig Watson 2016-08-16T23:19:48+08:002016-08-16T23:19:48+08:00 这实际上是与客户相关的,而不是与 Dovecot 相关的。长话短说,OSX 和 iOS 中的邮件应用程序实际上都使用mtime邮件文件的文件系统,而不是邮件Date或Delivery-date标题。 (公认的 hacky)解决方法是编写一个快速脚本来读取适当的标题和touch所有文件以更正mtime文件,然后清除所有 Dovecot 缓存文件以重新索引文件。 BillThor 2016-08-16T04:28:55+08:002016-08-16T04:28:55+08:00 我相信 Dovecot 使用 Date: 标题。我在移动没有 Date 标头的消息时遇到了这个问题。有些来自旧邮件系统,但大多数来自“已发送”文件夹。相对较少的由不确保 Date 标头存在的服务器发送。 您可以通过添加标题并强制它重新索引文件夹来解决此问题。您可以使用该formail实用程序添加 Date 标头。您可能需要链接命令并为固定电子邮件创建一个新目录。如果您有 Maildir 格式存储,您可以将 cur 子目录移动到一个新名称,如 old,然后重写回 cur。
这实际上是与客户相关的,而不是与 Dovecot 相关的。长话短说,OSX 和 iOS 中的邮件应用程序实际上都使用
mtime
邮件文件的文件系统,而不是邮件Date
或Delivery-date
标题。(公认的 hacky)解决方法是编写一个快速脚本来读取适当的标题和
touch
所有文件以更正mtime
文件,然后清除所有 Dovecot 缓存文件以重新索引文件。我相信 Dovecot 使用 Date: 标题。我在移动没有 Date 标头的消息时遇到了这个问题。有些来自旧邮件系统,但大多数来自“已发送”文件夹。相对较少的由不确保 Date 标头存在的服务器发送。
您可以通过添加标题并强制它重新索引文件夹来解决此问题。您可以使用该
formail
实用程序添加 Date 标头。您可能需要链接命令并为固定电子邮件创建一个新目录。如果您有 Maildir 格式存储,您可以将 cur 子目录移动到一个新名称,如 old,然后重写回 cur。