我最近问过this question,并确定单个电子邮件无序显示的原因实际上并不是因为日期,而是因为邮件的顺序。我想修改我的脚本以确保所有消息的顺序正确,但我不确定如何执行此操作。它只是基于文件出现的顺序,还是maildir标题的特殊部分指定了这个?
以下是我的意思:Example
通常,我使用的每个MUA,包括Thunderbird,Evolution和mail2web.com都可以按日期排序,但默认顺序为“消息号”。我在共享主机上,我相信使用qmail。消息号标签信息必须保存在某处。
编辑:我尝试将所有文件移动到临时目录并再次返回,这表明它是负责消息编号的文件顺序。但是,我不确定为什么12月份几天的消息被移动到比那个日期任何一方的消息数量低得多的数字。文件名是时间戳,应该是顺序的,所以除非mv以奇怪的顺序移动文件,否则我不明白为什么不会为这些特定文件恢复消息号。
答案 0 :(得分:1)
对于maildirs,消息没有固有的顺序。显示它们的程序可以按照它希望的顺序显示它们,这可能是随机的,但也可以基于Date标题。
您的示例并未标识显示它们的程序,而且任何人都猜测它是如何订购邮件的。您需要弄清楚它的作用并修复它以按照您想要的顺序订购邮件。
编辑: Maildir specification可能对挖掘有用。如果您的MTA实际上通过提供可靠的时间戳来创建唯一的文件名,您可以通过文件名进行排序。即使是这样的文件名也不能保证,对你来说可能已经足够了。