Страница 1 из 1

Как узнать, что пришло именно новое письмо?

Добавлено: 20 ноя 2006, 13:06
_Ramzes_
Здравствуйте!
как можно узнать о том, что пришло новое письмо на почтовый ящик?
Заранее спасибо!

Добавлено: 20 ноя 2006, 16:19
BBB
Читать периодически по POP3-протоколу, что происходит в почтовом ящике. Например, там есть возможность прочитать количество писем, которые находятся в данный момент в ящике.

Добавлено: 20 ноя 2006, 18:26
Лелик_1044
BBB,
Дам можно if count >0 then пришло новое писмьо
Но тут есть одно НО надо после каждого приема очишать почтовый ящик

Добавлено: 21 ноя 2006, 00:00
Хыиуду
Зачем? Сохранять count в локальном файле или в реестре. Потом if count_на_ящике>count_сохраненный, то пришло новое письмо.

Добавлено: 22 ноя 2006, 16:26
BBB
Ну да, я примерно так себе и делал: по количеству.
Хотя, если совсем по-умному, то, наверное, надо смотреть уникальные иднтификаторы писем (есть там что-то такое в POP3-протоколе). То есть, чтобы корректно отследить такую ситуацию: В ящике, скажем, 3 письма. Программа запомнила это число. Юзер удалил одно письмо, но пришло еще одно. То есть, общее количество - 3 (т.е. сколько и "помнит" программа), но на самом деле есть одно свежее.

Добавлено: 23 ноя 2006, 00:04
Хыиуду
Тогда при любом действии юзера запоминать новый count.
Наверное, это все как-то более аккуратно делается, но я пишу с точки зрения человека, не знакомого с РОР3

Добавлено: 23 ноя 2006, 12:10
BBB
Хыиуду писал(а):Тогда при любом действии юзера запоминать новый count.
Наверное, это все как-то более аккуратно делается, но я пишу с точки зрения человека, не знакомого с РОР3
Думаю, проще (я так и делал) не нагружать программу умной логикой, а сделать ее интерактивной в том плане, что пользователь сам задает (и может по ходу программы изменять) это "пороговое" число count. Тогда, если программа (например, "висящая" на таймере и периодически проверяющая почтовый ящик) обнаружит, что количество писем превосходит текущее значение count, то сообщает об этом (например, выводя MessageBox). А если не превосходит, то тихо молчит.