Я использую Peter Huber's POP3 client для подключения к gmail и загрузки сообщений.Повторное получение сообщений POP3
Доступ к почтовым ящикам - это транзакционные почтовые ящики, используемые только для доступа к коду. То есть, сообщение приходит с прикрепленным файлом заказа, код будет обрабатывать его, а затем удалять сообщение. Одно из условий кода было флагом DEBUG, который, если он был установлен, не позволит удалить код из сообщения, чтобы вы могли снова запустить программу без флага отладки и обработать сообщение. Так, в моем коде я имею
If Not Arguments.Debug Then pop.DeleteEmail(eid)
Это прекрасно работает. Проблема в том, что даже если не удалять сообщение, запуск программы второй раз не будет повторно получать сообщение, даже если я войду в gmail и просмотрю папку «Входящие», он все еще там. Единственный способ заставить программу увидеть сообщение снова - отправить сообщение обратно в тот же самый почтовый ящик. Но в коде Питера я не вижу нигде, где он отслеживает увиденные сообщения между сеансами.
Это что-то, что делается в конце gmail? Отказ отправить сообщение одному клиенту во второй раз? Если да, могу ли я изменить мою учетную запись gmail, чтобы она всегда отображала все сообщения в папке «Входящие» для клиента при получении списка сообщений, даже те, которые уже «видели»? Я ничего не вижу на экране настроек gmail.
ОБНОВЛЕНИЕ: Я попытался добавить метод отправки команды RSET на сервер, согласно this comment на странице кодекса. Затем я вызываю свой новый метод Reset()
после извлечения моих сообщений, но перед отключением ... но у меня все еще такая же проблема.
Я сначала прочитал это как «сожаление о сообщениях POP3», и я начал дело со всеми электронными письмами, которые я сожалел о отправке – Jason
LOL - вы не первый человек сказал об этом. B-) Надеюсь, дефис делает это яснее! – eidylon