我在 Perl 中使用 Net::POP3 来遍历 MS Exchange 服务器上的邮箱。我对每个消息编号运行 UIDL 命令,并将返回的 ID 与以前看到的 ID 进行比较,以查看我过去是否处理过此消息。但是,我还发现在单个 POP3 邮箱中,相同的 UID 似乎针对不同的邮件多次出现。
知道为什么会发生这种情况吗?UID 不是真正唯一的吗?或者消息是否以某种方式在同一个邮箱中重复?
我在 Perl 中使用 Net::POP3 来遍历 MS Exchange 服务器上的邮箱。我对每个消息编号运行 UIDL 命令,并将返回的 ID 与以前看到的 ID 进行比较,以查看我过去是否处理过此消息。但是,我还发现在单个 POP3 邮箱中,相同的 UID 似乎针对不同的邮件多次出现。
知道为什么会发生这种情况吗?UID 不是真正唯一的吗?或者消息是否以某种方式在同一个邮箱中重复?
RFC说:
虽然服务器实现通常最好将任意分配的唯一 ID 存储在邮件投递中,但本规范旨在允许将唯一 ID 计算为消息的哈希值。 客户端应该能够处理邮件投递中消息的两个相同副本具有相同唯一 ID 的情况。
[我的重点]