У меня есть простой сервер, который прослушивает входящие сообщения электронной почты из одной или нескольких папок и из одного или нескольких почтовых ящиков.
Загруженные сообщения (почти все, кроме их тела и вложений) сохраняются в базе данных, поэтому даже их UID и они могут быть получены каждый раз, когда клиент хочет, ссылаясь на них по их UID.
К сожалению, я «только что» обнаружил, что почтовые серверы могут перенумеровывать некоторые или, возможно, все свои сообщения, так что перенумерация делает недействительными все мои UIDS, которые ранее сохранялись в базе данных.
Я не понимаю, какие действия я должен предпринять, чтобы преодолеть это поведение, эту перенумерацию, что я могу сделать, чтобы перехватить эту перенумерацию и что я могу сделать, чтобы перенумеровать мои сообщения, часть их или все?
Я понял механизм UIDValidity, но не понимаю, что именно делать, когда обнаруживаю его изменение.
Я думал:
- Для каждого сообщения на почтовом сервере
- Найдите его в моей базе данных, сопоставив его тему, дату и идентификатор сообщения.
- Если найдено, обновите сообщение в БД с его новым UID
С наилучшими пожеланиями