Назад | Перейти на главную страницу

Courier повторно загружает письма, когда нет места на диске

Предыстория: Клиент сообщил о повторной загрузке писем. Письма хранятся в каталоге / home без свободного места на тот момент, когда я его проверил. (Да, у нас есть Nagios, но заказчик знает о ситуации:>) Courier-imap {-ssl} версия: 4.8.0-3

Вопрос: Как это возможно, что при отсутствии места на диске почтовый клиент начнет повторно загружать все письма в этой учетной записи?

Насколько я понимаю, я обнаружил связь между этой ситуацией и файлом: courierimapuiddb, хранящимся в Maildir пользователя. Это база данных, в которой хранятся UIDS электронных писем. Но как это возможно, что когда на диске не остается места, оно стирается?

Если вам нужна дополнительная информация для инвазии, напишите мне ссылку.

Наверное, courierimapuiddb должен обновляться, когда происходит вход в систему IMAP, чтобы отразить изменения в содержимом Maildir, но портится из-за нехватки места на диске.

Это повреждение может привести к созданию нового UID сообщения при следующем входе в систему IMAP, что, в свою очередь, заставит все существующие сообщения отображаться как новые для клиента IMAP. (Сейчас я не знаю, насколько детерминированным является генерация UID для курьера. Маловероятно, но, возможно, перестройка courierimapuiddb всегда будет назначать один и тот же UID одним и тем же сообщениям ...)

Если клиент IMAP настроен на синхронизацию почтового ящика (то есть для облегчения работы в автономном режиме), эти новые UID являются триггером для клиента, чтобы снова эффективно загрузить все существующие сообщения. После загрузки они не должны отображаться как новый сообщениями, потому что протокол IMAP сохраняет статус чтения на стороне сервера.