php – 为什么imap uid不是唯一的?在不同的文件夹?

前端之家收集整理的这篇文章主要介绍了php – 为什么imap uid不是唯一的?在不同的文件夹?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我将我的邮箱元素保存到 mysql数据库(在我的Intranet中执行快速搜索,因为imap_search’太慢了).

我正在连接到服务器和文件夹,并迭代消息.

简化代码

$numMsg = imap_num_msg($conn);

for($i=1;$i<=$numMsg;$i++){
    $uid = imap_uid($conn,$i);
    echo("msg_num:".$i." - uid:".$uid);
}

我得到这样的东西:

msg_num:5 – uid:5msg_num:6 – uid:6msg_num:7 – uid:7msg_num:8 – uid:8msg_num:9 – uid:9msg_num:10 – uid:10msg_num:11 – uid:11msg_num:12 – uid:12

这是完全错误的!

uid不应该是唯一的吗?

我在我拥有的5个子文件夹中以及在收件箱中的收件箱中得到这个UID我得到的权利(msg_num:5 – uid:1503msg_num:6 – uid:1504msg_num:7 – uid:1506)

是的,UID只对每个文件夹唯一.消息的完整持久唯一ID是文件名称,文件夹UIDVALIDITY和消息UID的元组.在正确实现的服务器上,该元组将只引用一条消息.

例如:(SENT,1,100)表示发送文件夹的第一个版本中ID为100的邮件. UIDVALIDITY往往是大约10位数字,如果文件夹被删除并重新创建或需要由服务器软件重新索引/重新生成,则应该更改.

猜你在找的PHP相关文章