Повторная обработка писем по ошибке из pop3 аккаунта - PullRequest
1 голос
/ 10 июня 2010

У меня есть приложение, которое читает электронную почту из учетной записи pop3.Когда я подключаюсь к учетной записи, я загружаю все новые электронные письма и обрабатываю тело и вложения.

Если при обработке одного из писем возникла ошибка, я хотел бы загрузить ее снова при следующем подключении, но, поскольку я получаю только новые письма, а неудачное уже загружено, я не получаю его, поэтому могуНе пытайтесь обработать его снова.

Могу ли я сделать это с помощью любой команды pop3 или мне нужно хранить локально сбойные электронные письма?

1 Ответ

1 голос
/ 10 июня 2010

Пока вы не удаляете сообщения после их загрузки, они должны оставаться на сервере, чтобы вы могли восстановить их снова. Другими словами, это должно происходить по умолчанию. Подробнее см. RFC 1939 .

Какую клиентскую библиотеку POP3 вы используете?

Редактировать: Полагаю, возможно, что ваш сервер POP3 удаляет сообщения после того, как вы их один раз получили, хотя это было бы довольно грубо. Может быть интересно запустить ваш клиентский код на бесплатном сервере POP3, таком как GMail, чтобы увидеть, работает ли он по-другому.

Если вы не используете SSL-шифрование POP3-соединения, вам также может быть интересно запустить Wireshark , чтобы увидеть, что именно происходит в сети между вашим клиентом и сервером. (POP3 - это открытый текстовый протокол, который очень легко понять, глядя на трассировку сети.) Чтобы использовать Wireshark, откройте меню «Захват», выберите «Параметры», убедитесь, что выбран ваш интерфейс, введите «Фильтр захвата» для порта tcp 110. "и нажмите Старт.

Если вы хотите опубликовать свой код клиента, мы могли бы предложить дополнительную помощь.

...