2012-05-10 3 views
0

Я использую Peter Huber's POP3 client для подключения к gmail и загрузки сообщений.Повторное получение сообщений POP3

Доступ к почтовым ящикам - это транзакционные почтовые ящики, используемые только для доступа к коду. То есть, сообщение приходит с прикрепленным файлом заказа, код будет обрабатывать его, а затем удалять сообщение. Одно из условий кода было флагом DEBUG, который, если он был установлен, не позволит удалить код из сообщения, чтобы вы могли снова запустить программу без флага отладки и обработать сообщение. Так, в моем коде я имею

If Not Arguments.Debug Then pop.DeleteEmail(eid)

Это прекрасно работает. Проблема в том, что даже если не удалять сообщение, запуск программы второй раз не будет повторно получать сообщение, даже если я войду в gmail и просмотрю папку «Входящие», он все еще там. Единственный способ заставить программу увидеть сообщение снова - отправить сообщение обратно в тот же самый почтовый ящик. Но в коде Питера я не вижу нигде, где он отслеживает увиденные сообщения между сеансами.

Это что-то, что делается в конце gmail? Отказ отправить сообщение одному клиенту во второй раз? Если да, могу ли я изменить мою учетную запись gmail, чтобы она всегда отображала все сообщения в папке «Входящие» для клиента при получении списка сообщений, даже те, которые уже «видели»? Я ничего не вижу на экране настроек gmail.

ОБНОВЛЕНИЕ: Я попытался добавить метод отправки команды RSET на сервер, согласно this comment на странице кодекса. Затем я вызываю свой новый метод Reset() после извлечения моих сообщений, но перед отключением ... но у меня все еще такая же проблема.

+1

Я сначала прочитал это как «сожаление о сообщениях POP3», и я начал дело со всеми электронными письмами, которые я сожалел о отправке – Jason

+0

LOL - вы не первый человек сказал об этом. B-) Надеюсь, дефис делает это яснее! – eidylon

ответ

0

Okay ... нашел «своего рода» ответ после прочтения страниц комментариев по проекту codeproject.

Согласно this comment, команда RSET фактически ничего не делает, когда вы имеете дело с серверами Gmail.

«ответ», чтобы предварять имя пользователя со строкой «недавнее:», поэтому вместо того, чтобы войти с [[email protected]] при входе в систему с [Недавняя: [email protected] ]. Скорее хакерский, но он работает.

Смежные вопросы