Я сделал это.
Вам придется перечитать все заголовки, но вы можете решить, какие сообщения загрузить.
Я не помню ничего в заголовке, которое дало бы вам надежную временную метку. Я не верю, что ваше решение возможно без учета того, что вы уже видели.
(В моем случае мне было все равно - я просто искал сообщения с определенными функциями идентификации в заголовке - эти сообщения были загружены, обработаны и уничтожены, все остальное осталось нетронутым.)
Мне также интересно, не понимаете ли вы протокол. То, что вы загружаете сообщение, не означает, что оно удалено с сервера. Он удаляется с сервера только в том случае, если вы даете явную команду на удаление сообщения. (И когда сообщение содержит так много вложений, что время ожидания системы до того, как вы правильно выйдете из системы, и, таким образом, ваша команда kill будет отброшена, вы забьетесь на стену!) (Это был недосмотр в проекте. Первоначальная логика была прикрепить один файл размером более 100 тыс., или как можно больше, чье общее количество не превышало 100 тыс. Еще одна задача сработала и сгенерировала тысячи файлов размером около 100 байт каждый. Хотя это была совершенно законная, хотя и экстремальная, электронная почта, ничто не могло ее убить !)
Таким образом, если бы я писал почтовый клиент, я просто скачал бы все, чего у меня еще не было локально. Если он должен оставаться на сервере, хорошо, просто не давайте команду kill.