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

Буду благодарен за любые комментарии!
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>Буду благодарен за любые комментарии!
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: POP3-команды
От: SmirnoVV  
Дата: 18.07.02 13:25
Оценка:
Здравствуйте Sinclair, Вы писали:

S>Здравствуйте SmirnoVV, Вы писали:



S>Вообще говоря, они правы. Нет никакого другого документированного способа, т.к. поп3 не поддерживает флагов прочитанности.

Ну, в общем-то я и лелеял надежду, что они мне какую-нибудь недокументированную команду на ушко прошепчут — ну да ладно, ведь ...

S>Есть менее надежный, но и менее прожорливый способ — запрашивать хидер и смотреть дату доставки, запоминая самую последнюю.

... ведь это гениа-а-ально, Ватсон! — как я сам не догадался! какой бы датой письмо ни было отправлено, приниматься-то они будут линейно!

S>На самом деле, дался тебе этот реестр. Храни ты простенький список в файле. Объема это

S>займет столько же, а работать будет не в пример быстрее. Максимальный размер UIDL равен
S>70 байтам; для 100000 писем это даст всего 7 метров. Реально меньше.
Ну да — а если юзер каждые 20 сек. ящик слушает — накладно это выйдет...

S>Ну еще бы. Это не кодовая страница, это два преобразования. За деталями прошу

Огромное Человеческое, блин, спасибо!!!

:super:
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.