IMAP - разница между msgno и uid? - PullRequest
2 голосов
/ 04 ноября 2011

В чем разница между msgno и uid?Похоже, они всегда одинаковы, даже если сообщения удалены!?

Ответы [ 2 ]

2 голосов
/ 04 ноября 2011

Как сказано в http://www.php.net/manual/en/function.imap-uid.php:

Эта функция возвращает UID для данного порядкового номера сообщения. UID - это уникальный идентификатор, который не будет меняться со временем, в то время как порядковый номер сообщения может меняться при изменении содержимого почтового ящика.

1 голос
/ 25 января 2013

В моем случае, uid всегда совпадает с msgno и message_id

Хуже всего то, что когда я удаляю сообщения на почтовом сервере, msgno и UID перераспределяются в порядкеприбытие.

Я создал небольшой скрипт, который доставляет письма с imap_search и imap_overview для получения заголовков, я использую imap_uid ($ this-> GetConnection (), $ msgno);заставить получить UID из MSGNO, и вот результат:

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: 8555 8ID UIDUIDBYNO: 855 MSGNO: 856 UID: 856 UIDBYNO: 856 MSGNO: 857 UID: 857 UIDBYNO: 857

Итак 1) uid не уникален 2) msgno всегда совпадает с uid

Может почтовый сервер не уважает RFC!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...