【发布时间】:2011-03-24 04:30:53
【问题描述】:
我知道 UID 会发生变化,但在对特定邮件进行任何操作期间,Message-Id 不会发生变化。但是,经过一些操作,我想出了这个案例:
假设我的INBOX 中有一个total of 2000 emails。如果我将带有UID 1000 和Message-Id 1000 的1000th 电子邮件复制到我的Trash 邮箱,然后将其复制回INBOX,则UID 将更改为2000,Message-Id 将更改为2000;该文件夹的当前。然后,无论日期如何,电子邮件都会在顶部。
现在的问题是,如果我 . fetch 1990:2000 fast(最后 10 封电子邮件),我将在提取的 10 封电子邮件中得到那封特定的电子邮件。您将如何根据日期提取最后 10 封电子邮件,而不必提取 2000 封电子邮件然后按日期对它们进行排序?
【问题讨论】:
-
谢尔盖,你误会了。这里涉及到 3 条数据。只要邮件在文件夹中(并且只要文件夹的 UIDVALIDITY 不变),邮件的 UID 就保持不变。消息的序列号是它在按 UID 排序的消息列表中的位置 - 因此,如果您从文件夹中删除消息 1,则所有 UID 保持不变,但每条剩余消息的序列号都会减少 1。消息 ID 标头 消息是真正不变的 - 将其移至垃圾箱并返回,但它仍然具有相同的 Message-ID 标头。