powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / POP3. Проблема с получением с сервера только ранее не загруженных писем.
6 сообщений из 6, страница 1 из 1
POP3. Проблема с получением с сервера только ранее не загруженных писем.
    #35270359
arial79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пишу почтовый клиент.
Письма хранятся на сервере и с сервера не удаляются.
Хочу при проверке почты загружать с сервера на клиент только ранее не загруженные письма.

Теоритически, имеется команда UIDL, благодаря ей все сообщения, хранящиеся на сервере, получают уникальные номера, которые можно использовать для обнаружения новых писем.
Проверяю на Office Mail Server 0.7.26 , UIDL выдаёт НЕ уникальные UID для части писем. При этом, например, The Bat! эти письма с не уникальным UID получает нормально, т.е., по видимому, The Bat!, при проверке почты на сервере, проверяет ещё какую то информацию, но он проверку сервера на наличие новых сообщений проводит очень быстро, т.е., скорее всего, перебором всех сообщений не занимается. Как он это делает?
...
Рейтинг: 0 / 0
POP3. Проблема с получением с сервера только ранее не загруженных писем.
    #35271059
arial79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Видимо клиенты используют вместе с командой UIDL команду LIST и получают кроме UID письма ещё и его размер. Обе команды довольно шустро выполняются.
Но всё равно остаётся вопрос, как быстро найти новые письма. Перебирать все когда-либо загруженные письма очень долго.
...
Рейтинг: 0 / 0
POP3. Проблема с получением с сервера только ранее не загруженных писем.
    #35271480
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arial79The Bat!, при проверке почты на сервере, проверяет ещё какую то информацию, но он проверку сервера на наличие новых сообщений проводит очень быстро, т.е., скорее всего, перебором всех сообщений не занимается. Как он это делает?Именно перебором. Посмотрите логи POP3-сессии вашего почтового сервера.
...
Рейтинг: 0 / 0
POP3. Проблема с получением с сервера только ранее не загруженных писем.
    #35271567
arial79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну вот в логах POP3 сессии как раз ничего интересного нет. Из лога видно, что клиент собирает UIDы и размеры писем:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
"SENT: +OK POP3"
"RECEIVED: USER test@test.ru"
"SENT: +OK Send your password"
"RECEIVED: PASS password"
"SENT: +OK Mailbox locked and ready"
"RECEIVED: STAT"
"SENT: +OK 6 10112"
"RECEIVED: UIDL"
"SENT: +OK 6 messages (10112 octets)[nl]1 1538[nl]2 1540[nl]3 1542[nl]4 1544[nl]5 1546[nl]6 1548[nl]."
"RECEIVED: LIST"
"SENT: +OK 6 messages (10112 octets)"
"SENT: 1 1343[nl]2 3882[nl]3 1336[nl]4 1149[nl]5 1201[nl]6 1201[nl]."
"RECEIVED: QUIT"
"SENT: +OK POP3 server saying goodbye..."
Например у меня на одном из почтовых ящиков 501 письмо лежит на сервере и 500 лежит на клиенте. Соответственно, для того, чтобы проверить какое из писем на сервере новое, клиенту необходимо сравнить 500 писем с сервера с 500 письмами клиента. Это довольно долго должно быть.
...
Рейтинг: 0 / 0
POP3. Проблема с получением с сервера только ранее не загруженных писем.
    #35271657
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arial79Соответственно, для того, чтобы проверить какое из писем на сервере новое, клиенту необходимо сравнить 500 писем с сервера с 500 письмами клиента. Это довольно долго должно быть.Не так уж долго, время работы несложного алгоритма с последовательным чтением данных с сервера и последующим поиском по бинарному дереву растет примерно как N*log2(K), где N - количество писем на сервере, K - количество писем в ящике. Думаю, можно придумать и более быстродействующий алгоритм.
...
Рейтинг: 0 / 0
POP3. Проблема с получением с сервера только ранее не загруженных писем.
    #35271694
arial79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проверил, перебирает действительно довольно быстро. Кажется вопрос исчерпан.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / POP3. Проблема с получением с сервера только ранее не загруженных писем.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]