蓝冠官网-蓝冠公司|蓝冠招商注册-蓝冠开户
蓝冠官网(主管Q374919)

蓝冠官网jquery社区_imap的uid会异动,疑似有bug

小弟本来认为uid是永恒不变,除非该信件更换资料夹,
msgno则是该资料夹的邮件顺序,随时在变,
message_id 该信件不论是否更换资料夹皆永恒不变,但有重复的可能,

因为不会移动资料夹,所以小弟在储存的时候会使用uid做id使用,
但今日发现随着删掉垃圾信后,uid竟然就变了…感觉我uid其实是msgno??

我环境是PHP 8.1.6 / win11专业版x64
上测试code
主要是控制imap_search回传uid或msgno,接着转换成msgno或uid

$search = 'FROM "xxxxxxx" SUBJECT "xxxxxxxx"';

$list1 = imap_search($mail->imap_stream, $search, SE_UID);
echo 'UID:' . implode(', ', $list1) . PHP_EOL;
echo 'uid->msgno: ' . imap_msgno($mail->imap_stream, current($list1)) . PHP_EOL;
echo PHP_EOL;


$list2 = imap_search($mail->imap_stream, $search, SE_FREE);
echo 'msgno:' . implode(', ', $list2) . PHP_EOL;
echo 'msgno->uid: ' . imap_uid($mail->imap_stream, current($list2)) . PHP_EOL;
echo PHP_EOL;

回应结果如下


UID:2789
uid->msgno: 2789

msgno:2789
msgno->uid: 2789

uid, msgno 竟然一模一样…
但删除垃圾信前uid是2790,
所以uid其实就是msgno的别名??
还是uid有bug??

有前辈知道发生什么事了吗?

2022-10-10