我正在开发一个使用UID从exchange服务器获取电子邮件的应用程序。UID的长度似乎只有6位。这是否意味着它的最大值是999999?我的收件箱可能会收到超过100万封电子邮件,我需要一种方法来唯一地识别收件箱文件夹中的每一封电子邮件。
发布于 2019-07-19 04:30:07
通过RFC,它可以是一个32位的数字,因此4,294,967,295:
唯一标识符(UID)邮件属性:分配给每封邮件的32位值,当与唯一标识符有效性值(见下文)一起使用时,它将形成一个64位值,该值不能永远引用邮箱或任何后续同名邮箱中的任何其他邮件。
如果你过去收到了超过40亿封电子邮件,服务器将被迫重新建立索引,并更改UIDVALIDITY
,从而使任何客户端缓存无效。如果您当前拥有超过40亿台服务器,则IMAP服务器无法严格表示这一点。
任何给定的服务器实现都可能具有较低的限制。这些数字不是零填充的,所以很可能你只是还没有收到一百万条消息。当您这样做时,您将开始看到七位数的UID。
https://stackoverflow.com/questions/57101533
复制相似问题