Re: POP3-команды
От: Sinclair Россия https://github.com/evilguest/
Дата: 18.07.02 13:08
Оценка: 3 (1)
Здравствуйте SmirnoVV, Вы писали:

SVV>Привет всем!

SVV>Пишу MailChecker'а
SVV>столкнулся с такой проблемой — команды STAT, LIST показывает список всех сообщений
SVV>так вот, если человек слушает, скажем, pop.mail.ru прога опознает (STAT, LIST) прочтенные/непрочтенные письма из инбокса как новые.
SVV>Это понятно и законно.
SVV>Но очень хочется уметь как-нибудь понимать, что письмо прочитано.
SVV>Писал жалистное письмо на mail.ru с просьбой помочь разобраться — как это сделать — ессно послали . Вот пишу теперь сюда ...
SVV>на godeguru.com пишут, что типа никак эта проблема неразрешима и советуют запоминать UIDLы, но это решение мне очень не симпатично — а что если юзер слишком активный? — данные-то я храню в реестре...

Вообще говоря, они правы. Нет никакого другого документированного способа, т.к. поп3 не поддерживает флагов прочитанности. Есть менее надежный, но и менее прожорливый способ — запрашивать хидер и смотреть дату доставки, запоминая самую последнюю.
На самом деле, дался тебе этот реестр. Храни ты простенький список в файле. Объема это займет столько же, а работать будет не в пример быстрее. Максимальный размер UIDL равен 70 байтам; для 100000 писем это даст всего 7 метров. Реально меньше.


SVV>Пользую исключительно WinSock, без MFC в целях экономии памяти

SVV>Вот тут про MAPI вкратце прочитал — может он поможет?
Нет, не поможет. Забудь про MAPI, он умеет меньше, а весит больше. Не для того он сделан.
SVV>И еще вопрос — никак не удается распознать русский текст в заголовке письма — пробовал сам себе отправлять в Subject "привет" — приходит ?koi8-r?B?ONLJ18XU?= — "Штирлиц" не распознает никак, находил в сети куски кода (на VB, правда) — MultiByteToWideChar, WideCharToMultiByte — но чего-то тоже никак...
Ну еще бы. Это не кодовая страница, это два преобразования. За деталями прошу в RFC 2047. За готовым кодом — в мой постинг
Автор: Sinclair
Дата: 11.07.02
.
SVV>Буду благодарен за любые комментарии!
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.