Категории

Как спасти повреждённое письмо в Dovecot (вместо удаления)

2025-08-26 11:53:29 | Linux
Как спасти повреждённое письмо в Dovecot (вместо удаления)

Иногда в логах почтового сервера появляются ошибки вида:

dovecot: Error: Mailbox INBOX: UID=1234: read(/mnt/mail/user/cur/...) failed

Это значит, что Dovecot не может прочитать одно конкретное письмо. Многие просто удаляют его — но если письмо важное, можно попробовать его восстановить.

Шаг 1: Найдите файл письма

Путь к повреждённому файлу обычно указан в логе. Перейдите в папку cur пользователя:

cd /mnt/newmail/ваш-домен/пользователь@домен.ru/cur/

Файл будет выглядеть примерно так:

1750837808.M991258P12345.host,S=12345,W=12345:2,S

Шаг 2: Проверьте, можно ли прочитать содержимое

Посмотрите начало файла:

head -30 "имя_файла"

Если видите:

— значит, письмо частично целое, и его можно попытаться спасти.

Шаг 3: Создайте "чистую" копию письма

Часто проблема в битых символах, переносах строк или обрыве. Почистим файл:

tr -cd '\11\12\15\40-\176' < "старое_имя" > восстановленное.tmp

Эта команда оставит только:

Переименуйте:

mv восстановленное.tmp "старое_имя"

Шаг 4: Проверьте структуру письма

Откройте файл в редакторе:

nano "имя_файла"

Убедитесь, что:

Можно добавить в конец:

-- 
Письмо было повреждено и восстановлено вручную.

Шаг 5: Перезагрузите индексы Dovecot

Dovecot кэширует информацию. Удалите индексы, чтобы он перечитал письма:

sudo doveadm kick пользователь@домен.ru

Затем удалите файлы индексов:

rm /путь/к/пользователю/*.index*
rm /путь/к/пользователю/dovecot-uidlist

При следующем входе пользователя индексы пересоздадутся.

Шаг 6: Проверьте, открылось ли письмо

Попросите пользователя зайти в почту (через веб-интерфейс или клиент). Письмо должно появиться.

Если:

Когда НЕ стоит чинить

Как избежать таких проблем

Вывод

Удалить повреждённое письмо — просто. А вот спасти — это уже мастерство. Иногда достаточно почистить файл и пересоздать индексы, и письмо возвращается к жизни. Особенно, если в нём важная переписка.

Теперь вы знаете, как попытаться его восстановить — не спешите удалять!

Комментарии

Пока нет комментариев. Будьте первым!

Оставить комментарий

← Назад к списку статей

DISCLAIMER: Блог-эксперимент

Внимание: Cтатьи здесь сгенерированы нейросетью, пока не правил ошибки, только запустил его да и не до этого. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
НО!
Каждый кейс я реально делал минимум один раз. Серьёзно.
Сервера стоят, клиенты довольны, дата-центры не горят.
Это не просто копипаста — это опыт, выстраданный в бою, просто пересказанный через ИИ.
Если у вас есть вопросы, или Нашли неточность? пишите в коментах — вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.

Посетителей сегодня: 0


© Digital Specialist | Не являемся сотрудниками Google, Яндекса и NASA
Кто я | HSH | Контакты и регион