URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 6886
[ Назад ]

Исходное сообщение
"Изменяется uid сообщения (протокол POP3)"

Отправлено mvi , 17-Июн-10 20:38 
Работаю с pop3-сервером через imap-функции PHP. В теории UID сообщения не должен меняться при удалении писем. Удаляю сообщение. UID оставшихся меняется и всегда равен порядковому номеру сообщения. Что это может значить?

P.S. Вот так определяю UID: $uid = imap_uid($mbox, $i), где $mbox - stream, $i - порядковый номер сообщения

Заранее благодарен


Содержание

Сообщения в этом обсуждении
"Изменяется uid сообщения (протокол POP3)"
Отправлено Michael , 17-Июн-10 20:48 
>Работаю с pop3-сервером через imap-функции PHP. В теории UID сообщения не должен
>меняться при удалении писем.

кто вам это сказал?
очень даже меняется. если нужно постоянство, то юзайте imap


"Изменяется uid сообщения (протокол POP3)"
Отправлено mvi , 17-Июн-10 21:14 
>>Работаю с pop3-сервером через imap-функции PHP. В теории UID сообщения не должен
>>меняться при удалении писем.
>
>кто вам это сказал?
>очень даже меняется. если нужно постоянство, то юзайте imap

В мануале по PHP-функциям написано. Правда они применимы и для POP3, и для IMAP. В принципе, можно работать и с imap, но pop3 более распространен. А как же тогда в POP3 решается такая тривиальная задача:
допустим есть pop3-клиент на PHP
-установлена опция скачивать сообщения, но не удалять их в ящике
-скрипт скачивает сообщения, сохраняется их в БД
-как он в следующий раз поймет, что это сообщение не нужно забирать заново?
Я конечно понимаю, что есть флаг SEEN, но а если pop3-клиентов 2 и если первый поставил флаг SEEN, то тогда и второй не заберет сообщение. Идентифицировать по набору полей from+time+subject... ну это тоже как-то ненормально. Должен же быть какой-то уникальный идентификатор...



"Изменяется uid сообщения (протокол POP3)"
Отправлено Michael , 17-Июн-10 22:47 

>Я конечно понимаю, что есть флаг SEEN, но а если pop3-клиентов 2
>и если первый поставил флаг SEEN, то тогда и второй не
>заберет сообщение. Идентифицировать по набору полей from+time+subject... ну это тоже как-то
>ненормально. Должен же быть какой-то уникальный идентификатор...

ну можно Message-Id, но имхо - это тоже костыль


"Изменяется uid сообщения (протокол POP3)"
Отправлено mvi , 18-Июн-10 19:42 
>
>>Я конечно понимаю, что есть флаг SEEN, но а если pop3-клиентов 2
>>и если первый поставил флаг SEEN, то тогда и второй не
>>заберет сообщение. Идентифицировать по набору полей from+time+subject... ну это тоже как-то
>>ненормально. Должен же быть какой-то уникальный идентификатор...
>
> ну можно Message-Id, но имхо - это тоже костыль

Я тут посмотрел и мне кажется, что Message-Id-то что нужно. При удалении некоторых писем у оставшихся Message-Id не меняется, что и требуется. Не вижу костыля )). Спасибо за наводку