msgno和uid有什么区别?即使msgs被删除,它们看起来总是一样的!?
答案 0 :(得分:2)
正如http://www.php.net/manual/en/function.imap-uid.php所说:
此函数返回给定消息序列号的UID。 UID是一种唯一标识符,不会随着时间的推移而发生变化,而只要邮箱内容发生变化,邮件序列号就会发生变化。
答案 1 :(得分:1)
就我而言,uid始终与msgno和message_id
相同最糟糕的是,当我删除邮件服务器上的邮件时,msgno和UID按到达顺序重新分配。
我制作了一个小脚本,用imap_search和imap_overview获取邮件以获取标题,我使用imap_uid($ this-> GetConnection(),$ msgno);强制从MSGNO获取UID,结果如下:
echo“MSGNO:$ msgno UID:$ overview-> uid UIDBYNO:”。 $ mbox-> GetUidByNum($ msgno) “
”;
MSGNO:851 UID:851 UIDBYNO:851 MSGNO:852 UID:852 UIDBYNO:852 MSGNO:853 UID:853 UIDBYNO:853 MSGNO:854 UID:854 UIDBYNO:854 MSGNO:855 UID:855 UIDBYNO:855 MSGNO:856 UID:856 UIDBYNO:856 MSGNO:857 UID:857 UIDBYNO:857
所以 1)uid不是唯一的 2)msgno总是与uid相同
也许邮件服务器不尊重RFC!