В качестве последнего варианта почтовые клиенты могли бы удалять все сообщения с сервера сразу после их загрузки, чтобы операция удаления не воздействовала на идентификаторы POP (эту схему по умолчанию использует Microsoft Outlook, например). Однако это решение требует реализации дополнительных механизмов сохранения удаляемых сообщений, чтобы обеспечить возможность обратиться к ним позднее, и это также означает, что вы сможете просматривать загруженную почту только на компьютере, куда она была загружена. Поскольку программы PyMailGUI и PyMailCGI предназначены для использования на различных компьютерах, почта по умолчанию хранится на сервере POP.
Из-за отсутствия проверки синхронизации в текущей версии PyMailCGI вы не должны с ее помощью удалять почту из почтовых ящиков, где могут храниться важные сообщения, без применения одной из описанных схем. В этом случае используйте другие инструменты для сохранения сообщений перед удалением. Добавление поддержки сохранения информации о состоянии для обеспечения синхронизации с почтовым ящиком могло бы превратиться в интересное упражнение, но для этого пришлось бы писать дополнительный программный код, для которого у нас здесь недостаточно места, особенно, если поставить себе задачу обобщить его для обслуживания нескольких пользователей.
Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, II том, 2011