Привет всем!
Пишу MailChecker'а
столкнулся с такой проблемой — команды STAT, LIST показывает список всех сообщений
так вот, если человек слушает, скажем, pop.mail.ru прога опознает (STAT, LIST) прочтенные/непрочтенные письма из инбокса как новые.
Это понятно и законно.
Но очень хочется уметь как-нибудь понимать, что письмо прочитано.
Писал жалистное письмо на mail.ru с просьбой помочь разобраться — как это сделать — ессно послали
. Вот пишу теперь сюда ...
на godeguru.com пишут, что типа никак эта проблема неразрешима и советуют запоминать UIDLы, но это решение мне очень не симпатично — а что если юзер слишком активный? — данные-то я храню в реестре...
Пользую исключительно WinSock, без MFC в целях экономии памяти
Вот тут про MAPI вкратце прочитал — может он поможет?
И еще вопрос — никак не удается распознать русский текст в заголовке письма — пробовал сам себе отправлять в Subject "привет" — приходит ?koi8-r?B?ONLJ18XU?= — "Штирлиц" не распознает никак, находил в сети куски кода (на VB, правда) — MultiByteToWideChar, WideCharToMultiByte — но чего-то тоже никак...
Буду благодарен за любые комментарии!
Здравствуйте 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>Буду благодарен за любые комментарии!