![]() |
|
Модераторы: feodorv |
![]()
|
|
| neosapient |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Здравствуйте. Продолжаю изучение работы почты.
Изучал работу клиента по протоколу POP3 и появился вопрос. Вот по протоколу могу получить наибольший индекс из прочитаных писем - LAST. Как определить в какие письма пользователь уже заглядывал, а какие еще не смотрел? Ведь такое уже сделано на mail.ru или rambler.ru , и я думаю на других почтовиках также. Дополнительный вопрос - как определитть дату и время прихода сообщения на почтовый ящик? Дополнительный (необязательный) вопрос какой номер у РОР3 в RFC и возможно для расширений РОР3? |
|||
|
||||
| ptr |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 9 Всего: 14 |
Как мне помнится команда LAST не входит в стандарт протокола POP3, точнее когда-то раньше входила но её изъяли. Некоторые серверы её ещё поддерживают, но есть и такие, которые о ней ничего не слышали.
Посмотри вывод команды TOP.
На POP3 этого сделать не получится.
Post Office Protocol - Version 3. POP3 Extension Mechanism. Это сообщение отредактировал(а) ptr - 15.11.2006, 19:40 -------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
||||||||
|
|||||||||
| neosapient |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Вот вывод команды ТОР (ящик на рамблере): Ну и много здесь, а дата спрятона далеко... Есть ли формат вывода данных по команде ТОР --------------------------------------------- Попытался проделать тоже самое на маил.ру, но получаю ошибку, нужны пояснения? ---------------------------------------------
Непонял, а как тогда web-интерфейс почтовика узнает о том было ли письмо прочитано (обычный шрифт ссылки) или не прочитано (жирный шрифт ссылки)? --------------------------------------------- За ссылки спасибо пошел просматривать... P.S. В IE6 рисунки которые я прикрепил мне же и невидны, что делать? Как настроить браузер? Это сообщение отредактировал(а) neosapient - 15.11.2006, 21:09 |
||||||||
|
|||||||||
| ptr |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 9 Всего: 14 |
А причём тут веб-интерфейс и как он связан с POP3? Веб-интерфейс может позволять гораздо больше, чем конкретный протокол. На сервере у каждого сообщения есть набор флагов (например \Seen или как там его, отвечает за "прочтённость" письма). Так вот POP3 не позволяется работать с этим набором (в отличие, скажем, от IMAP).
Браузер настраивать не надо. Просто ты поместил рисунки на narod.ru и по этому адресу открывается сначала страница, а уж потом рисунок. Положи рисунки где-нибудь в другом месте.
Для тебя могут быть важны поля From, To, Subject, ну и MIME. Ищи интересующую строку в ответе и выдирай оттуда нужную информацию. -------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
||||||
|
|||||||
| neosapient |
|
||||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Ладно, попробую.
Вот прочел в RFC (кажется начал привыкать работать с ним) про команду UIDL. Как я понял она возвращает уникальные идентификаторы для писем. То есть если я в первую сессию работы с почтовиком сохраню список писем и их ID, которые там встретил, в отдельной таблице (файл, реестр и т.п.), то при следующей сессии я смогу произвести сравнение текущих списка ID писем и ранее созданым. Отличие это новые пришедшие письма.
Соответственно я должен еще и контролировать, какие письма вскрывал пользователь, в самом клиенте. Или все такие есть такой сервис-команда в POP3? Это сообщение отредактировал(а) neosapient - 17.11.2006, 18:50 |
||||||||||
|
|||||||||||
| ptr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 9 Всего: 14 |
В общем случае этот способ некорректен. Сообщения могут открываться в другой программе или веб-интерфейсе, они могут там удаляться и т.д. Если ты гарантируешь, что с ящиком работает только твоя программа, то этот способ может и будет хорошим.
Тебе этого делать не нужно (перечитай RFC НЕТ А вообще зачем тебе список непрочитанных писем? -------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
|||
|
||||
| neosapient |
|
||||||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Хочу написать прогу, фичей которой будет периодическая проверка почтового ящика на поступление новых писем.
В каком месте перечитать?
А какой способ корректен, "в общем случае"? Это сообщение отредактировал(а) neosapient - 17.11.2006, 19:50 |
||||||||||||
|
|||||||||||||
| ptr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 9 Всего: 14 |
Так новых писем или непрочитанных? Ни в каком. Всё нормально Никакой. -------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
|||
|
||||
| neosapient |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
И то и другое: - программа через определенные промежутки времени (скажем три минуты) проверяет почтовый ящик на наличие новых поступлений. - когда таковые появляются, то происходит увидомление пользователя. - при желании можно открыть специальное окно, в котором отображается список с (не)прочитаными и новыми письмами. Но все же главная фича, это первые два пункта с уведомлением пользователя о поступлении новых писем. |
|||
|
||||
| ptr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 9 Всего: 14 |
Я бы порекомендовал в программе использовать IMAP.
Если тебе надо получать количество новых писем, то тут есть два пути (правда не совсем хороших): 1. Тот который предложил ты. 2. Количество новых писем можно определить так (STAT - LAST) , где STAT и LAST - результаты выполнения соответствующих команд. Данный способ будет работать где-то на половине серверов. -------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
|||
|
||||
| neosapient |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Мысль правильная (и я над ней уже размышлял), но подразумевается, что на ящик я (или другой пользователь) может войти через web-интерфейс и там удалять письма. В результате может оказаться STAT - LAST<0 А вообще это будет частью алгоритма.
А что такое IMAP? Иногда в тексте встречал, можно на пальцах разъяснить или пример привести - для чего используется и где?. И что про это прочитать? Это сообщение отредактировал(а) neosapient - 18.11.2006, 18:04 |
||||
|
|||||
| ptr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 9 Всего: 14 |
IMAP - Internet Message Access Protocol. Это другой почтовый протокол, похожий на POP3, но более удобный и предоставляющий большую функциональность. Ну как всегда RFC 3501 -------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
|||
|
||||
| neosapient |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Ptr, спасибо.
Кажется заработало. С IMAP разберусь чуть позже, когда время будет. А эта ветка закрывается. Добавлено @ 18:25 Закрываю |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |