Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> POP3 список (не)прочитаных писем 
V
    Опции темы
neosapient
Дата 14.11.2006, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Здравствуйте. Продолжаю изучение работы почты.
Изучал работу клиента по протоколу POP3 и появился вопрос.
Вот по протоколу могу получить наибольший индекс из прочитаных писем - LAST.
Как определить в какие письма пользователь уже заглядывал, а какие еще не смотрел?
Ведь такое уже сделано на mail.ru или rambler.ru , и я думаю на других почтовиках также.

Дополнительный вопрос - как определитть дату и время прихода сообщения на почтовый ящик?

Дополнительный (необязательный) вопрос какой номер у РОР3 в RFC и возможно для расширений РОР3?
PM MAIL   Вверх
ptr
Дата 15.11.2006, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Цитата(neosapient @  14.11.2006,  21:56 Найти цитируемый пост)
Вот по протоколу могу получить наибольший индекс из прочитаных писем - LAST.

Как мне помнится команда LAST не входит в стандарт протокола POP3, точнее когда-то раньше входила но её изъяли. Некоторые серверы её ещё поддерживают, но есть и такие, которые о ней ничего не слышали.

Цитата(neosapient @  14.11.2006,  21:56 Найти цитируемый пост)
Дополнительный вопрос - как определитть дату и время прихода сообщения на почтовый ящик?

Посмотри вывод команды TOP.

Цитата(neosapient @  14.11.2006,  21:56 Найти цитируемый пост)
Как определить в какие письма пользователь уже заглядывал, а какие еще не смотрел?

На POP3 этого сделать не получится.

Цитата(neosapient @  14.11.2006,  21:56 Найти цитируемый пост)
Дополнительный (необязательный) вопрос какой номер у РОР3 в RFC и возможно для расширений РОР3?

Post Office Protocol - Version 3.
POP3 Extension Mechanism.

Это сообщение отредактировал(а) ptr - 15.11.2006, 19:40


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 15.11.2006, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Цитата

Цитата

как определитть дату и время прихода сообщения на почтовый ящик?

Посмотри вывод команды TOP.

Вот вывод команды ТОР (ящик на рамблере):
user posted image
Ну и много здесь, а дата спрятона далеко... Есть ли формат вывода данных по команде ТОР

---------------------------------------------

Попытался проделать тоже самое на маил.ру, но получаю ошибку, нужны пояснения?
user posted image

---------------------------------------------

Цитата

Цитата

Как определить в какие письма пользователь уже заглядывал, а какие еще не смотрел?

На POP3 этого сделать не получится.

Непонял, а как тогда web-интерфейс почтовика узнает о том было ли письмо прочитано (обычный шрифт ссылки) или не прочитано (жирный шрифт ссылки)?

---------------------------------------------

За ссылки спасибо пошел просматривать...

P.S.
В IE6 рисунки которые я прикрепил мне же и невидны, что делать? Как настроить браузер?

Это сообщение отредактировал(а) neosapient - 15.11.2006, 21:09
PM MAIL   Вверх
ptr
Дата 16.11.2006, 07:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Цитата(neosapient @  16.11.2006,  00:06 Найти цитируемый пост)
Непонял, а как тогда web-интерфейс почтовика узнает о том было ли письмо прочитано (обычный шрифт ссылки) или не прочитано (жирный шрифт ссылки)?

А причём тут веб-интерфейс и как он связан с POP3? Веб-интерфейс может позволять гораздо больше, чем конкретный протокол.

На сервере у каждого сообщения есть набор флагов (например \Seen или как там его, отвечает за "прочтённость" письма). Так вот POP3 не позволяется работать с этим набором (в отличие, скажем, от IMAP).

Цитата(neosapient @  16.11.2006,  00:06 Найти цитируемый пост)
В IE6 рисунки которые я прикрепил мне же и невидны, что делать? Как настроить браузер?

Браузер настраивать не надо. Просто ты поместил рисунки на narod.ru и по этому адресу открывается сначала страница, а уж потом рисунок. Положи рисунки где-нибудь в другом месте.

Цитата(neosapient @  16.11.2006,  00:06 Найти цитируемый пост)
Ну и много здесь, а дата спрятона далеко... Есть ли формат вывода данных по команде ТОР

Для тебя могут быть важны поля From, To, Subject, ну и MIME. Ищи интересующую строку в ответе и выдирай оттуда нужную информацию.


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 17.11.2006, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Цитата

Цитата

Ну и много здесь, а дата спрятона далеко... Есть ли формат вывода данных по команде ТОР

Для тебя могут быть важны поля From, To, Subject, ну и MIME. Ищи интересующую строку в ответе и выдирай оттуда нужную информацию. 

Ладно, попробую.

Цитата

Название темы: POP3 список (не)прочитаных писем 
--------------------------------------------------------------------
Цитата

Непонял, а как тогда web-интерфейс почтовика узнает о том было ли письмо прочитано (обычный шрифт ссылки) или не прочитано (жирный шрифт ссылки)?

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

Вот прочел в RFC (кажется начал привыкать работать с ним) про команду UIDL.
Как я понял она возвращает уникальные идентификаторы для писем.
То есть если я в первую сессию работы с почтовиком сохраню список писем и их ID, которые там встретил, в отдельной таблице (файл, реестр и т.п.), то при следующей сессии я смогу произвести сравнение текущих списка ID писем и ранее созданым. Отличие  это новые пришедшие письма.
Код

UIDL
+OK 6 messages
1 3070
2 3469
3 3490
4 3572
5 3753
6 3771
.
UIDL 1
+OK 1 3070


Соответственно я должен еще и контролировать, какие письма вскрывал пользователь, в самом клиенте. Или все такие есть такой сервис-команда в POP3?



Это сообщение отредактировал(а) neosapient - 17.11.2006, 18:50
PM MAIL   Вверх
ptr
Дата 17.11.2006, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Цитата(neosapient @  17.11.2006,  21:48 Найти цитируемый пост)
То есть если я в первую сессию работы с почтовиком сохраню список писем и их ID, которые там встретил, в отдельной таблице (файл, реестр и т.п.), то при следующей сессии я смогу произвести сравнение текущих списка ID писем и ранее созданым. Отличие  это новые пришедшие письма.

В общем случае этот способ некорректен. Сообщения могут открываться в другой программе или веб-интерфейсе, они могут там удаляться и т.д.
Если ты гарантируешь, что с ящиком работает только твоя программа, то этот способ может и будет хорошим.

Цитата(neosapient @  17.11.2006,  21:48 Найти цитируемый пост)
Соответственно я должен еще и контролировать, какие письма вскрывал пользователь, в самом клиенте.

Тебе этого делать не нужно (перечитай RFC smile ).

Цитата(neosapient @  17.11.2006,  21:48 Найти цитируемый пост)
Или все такие есть такой сервис-команда в POP3?

НЕТ smile .

А вообще зачем тебе список непрочитанных писем?


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 17.11.2006, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Цитата

А вообще зачем тебе список непрочитанных писем? 

Хочу написать прогу, фичей которой будет периодическая проверка почтового ящика на поступление новых писем.
Цитата

Цитата

все такие есть такой сервис-команда в POP3?

НЕТ smile 
Цитата

Соответственно я должен еще и контролировать, какие письма вскрывал пользователь, в самом клиенте.

Тебе этого делать не нужно (перечитай RFC  smile  ).

В каком месте перечитать?
Цитата

Цитата

То есть если я в первую сессию работы с почтовиком сохраню список писем и их ID, которые там встретил, в отдельной таблице (файл, реестр и т.п.), то при следующей сессии я смогу произвести сравнение текущих списка ID писем и ранее созданым. Отличие  это новые пришедшие письма.

В общем случае этот способ некорректен. 

А какой способ корректен, "в общем случае"?

Это сообщение отредактировал(а) neosapient - 17.11.2006, 19:50
PM MAIL   Вверх
ptr
Дата 18.11.2006, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Цитата(neosapient @  17.11.2006,  22:46 Найти цитируемый пост)
Хочу написать прогу, фичей которой будет периодическая проверка почтового ящика на поступление новых писем.

Так новых писем или непрочитанных?

Цитата(neosapient @  17.11.2006,  22:46 Найти цитируемый пост)
В каком месте перечитать?

Ни в каком. Всё нормально smile . Просто у меня вчера был тяжёлый день.

Цитата(neosapient @  17.11.2006,  22:46 Найти цитируемый пост)
А какой способ корректен, "в общем случае"?

Никакой.


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 18.11.2006, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Цитата

Так новых писем или непрочитанных?

И то и другое:
- программа через определенные промежутки времени (скажем три минуты) проверяет почтовый ящик на наличие новых поступлений.
- когда таковые появляются, то происходит увидомление пользователя.
- при желании можно открыть специальное окно, в котором отображается список с (не)прочитаными и новыми письмами.

Но все же главная фича, это первые два пункта с уведомлением пользователя о поступлении новых писем.
PM MAIL   Вверх
ptr
Дата 18.11.2006, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Я бы порекомендовал в программе использовать IMAP.

Если тебе надо получать количество новых писем, то тут есть два пути (правда не совсем хороших):
1. Тот который предложил ты.
2. Количество новых писем можно определить так (STAT - LAST) , где STAT и LAST - результаты выполнения соответствующих команд. Данный способ будет работать где-то на половине серверов.



--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 18.11.2006, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Цитата

Количество новых писем можно определить так (STAT - LAST) , где STAT и LAST - результаты выполнения соответствующих команд. Данный способ будет работать где-то на половине серверов.

Мысль правильная (и я над ней уже размышлял), но подразумевается, что на ящик я (или другой пользователь) может войти через web-интерфейс и там удалять письма. В результате может оказаться STAT - LAST<0
А вообще это будет частью алгоритма.

Цитата

Я бы порекомендовал в программе использовать IMAP.

А что такое IMAP? Иногда в тексте встречал, можно на пальцах разъяснить или пример привести - для чего используется и где?. 
И что про это прочитать?

Это сообщение отредактировал(а) neosapient - 18.11.2006, 18:04
PM MAIL   Вверх
ptr
Дата 18.11.2006, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Цитата(neosapient @  18.11.2006,  21:01 Найти цитируемый пост)
А что такое IMAP? Иногда в тексте встречал, можно на пальцах разъяснить или пример привести - для чего используется и где?. И что про это прочитать?

IMAP - Internet Message Access Protocol. Это другой почтовый протокол, похожий на POP3, но более удобный и предоставляющий большую функциональность.

Цитата(neosapient @  18.11.2006,  21:01 Найти цитируемый пост)
И что про это прочитать?

Ну как всегда RFC 3501 smile .


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
neosapient
Дата 26.11.2006, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Ptr, спасибо.  smile 
Кажется заработало.
С IMAP разберусь чуть позже, когда время будет.
А эта ветка закрывается.

Добавлено @ 18:25 
Закрываю
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0538 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.