Внезапное исчезновение писем из почтового клиента Outlook Express — проблема, с которой часто сталкиваются пользователи старых систем и администраторы, поддерживающие архивные рабочие места. Особенно критичной ситуация становится тогда, когда письма пропадают за целый год или конкретный период, при этом на почтовом сервере копий сообщений не осталось.
В этой статье мы подробно разберем, почему происходит этот сбой, проанализируем внутренние механизмы хранения почты в Outlook Express и рассмотрим эффективные практические методы восстановления утерянных писем.
Для того чтобы успешно решить проблему, нам необходимо понять физическую структуру хранения данных в Outlook Express. Каждая почтовая папка (например, «Входящие», «Отправленные», «Черновики») представлена в операционной системе отдельным файлом с расширением .dbx. Например, папке «Входящие» соответствует файл Входящие.dbx (или Inbox.dbx в англоязычной версии).
Существуют два главных фактора, которые приводят к «мистическому» исчезновению писем:
.dbx спроектирована так, что максимальный поддерживаемый объем одного файла составляет ровно 2 Gigabytes (2 147 483 648 байт). Как только файл базы данных приближается к этой отметке, стабильность работы программы прекращается. Программа может выдать ошибку с кодом 0x800C0133, заблокировать получение новой почты, либо тихо повредить заголовок индекса. В последнем случае файл физически весит около 2 Гб, но Outlook Express отображает папку абсолютно пустой..dbx, удаляя из них заголовки писем, помеченных как «удаленные». Если в этот момент база весит около 2 Гб, происходит зависание программы или нехватка оперативной памяти, из-за чего исходный файл повреждается или полностью обнуляется.Проанализируем практические методы решения этой проблемы, начиная с самых простых и заканчивая использованием специализированного ПО.
Рассмотрим ситуацию, когда сжатие папок все-таки было запущено, после чего письма исчезли. Мало кто знает, что встроенный механизм сжатия Outlook Express заботливо создает резервные копии сжимаемых файлов и помещает их в системную Корзину Windows. Эти файлы имеют расширение .bak и случайные имена вроде Dd459.bak.
Выполним по шагам процесс ручного восстановления почты из такого файла:
.bak, размер которых совпадает с примерным размером нашей утерянной почты (сотни мегабайт или около гигабайта).Dd459.bak) из Корзины в любую временную папку, например на Рабочий стол.C:\Documents and Settings\<Имя_пользователя>\Local Settings\Application Data\Identities\{Уникальный_GUID}\Microsoft\Outlook Express
Входящие.dbx и переименуем его в ~Входящие.dbx (это нужно для резервной копии на случай непредвиденных сбоев).Dd459.bak с Рабочего стола в папку банка данных и переименуем его точно так же, как назывался оригинальный файл — Входящие.dbx.Если папка «Входящие» заблокирована из-за достижения лимита в 2 Гб, стандартные методы очистки или удаления писем внутри программы работать не будут. Выясним, как обойти это ограничение без использования сторонних утилит.
Разберем алгоритм действий:
Входящие.dbx (размером под 2 Гб) из рабочей папки на другой диск или на Рабочий стол. В рабочей папке этого файла остаться не должно.Входящие.dbx отсутствует, программа автоматически создаст новый, чистый и полностью работоспособный файл Входящие.dbx минимального размера.Архив_2012.Архив_2012 (она должна быть пустой). Это действие заставит программу создать в системном каталоге соответствующий файл Архив_2012.dbx.Архив_2012.dbx.Входящие.dbx (который мы временно убирали на шаге 3) в Архив_2012.dbx и скопируем его в папку банка данных с заменой созданного пустого файла.В тех случаях, когда структура файла .dbx серьезно повреждена, заголовок перезаписан или стандартные методы подмены не помогают отобразить письма, на помощь приходит специализированный софт. На форумах часто советуют платные утилиты, но мы воспользуемся проверенным и абсолютно бесплатным инструментом с открытым исходным кодом — UnDBX.
Эта утилита умеет напрямую читать сырые данные из поврежденных файлов .dbx в режиме глубокого восстановления (Recovery Mode) и извлекать каждое найденное письмо в виде отдельного файла формата .eml.
Проанализируем процесс работы с программой:
C:\RecoveredMail..dbx (путь к банку данных Outlook Express).C:\RecoveredMail..eml..eml в Проводнике Windows и простым перетаскиванием (Drag-and-Drop) перенести их мышкой прямо в список писем выбранной папки в интерфейсе почтовика.Чтобы в будущем обезопасить себя от внезапных зависаний системы и порчи баз данных при автоматическом сжатии, мы можем отключить навязчивый счетчик закрытий программы. Для этого нам потребуется внести небольшое изменение в системный реестр Windows.
Выполним следующие шаги:
regedit и нажмем Enter для запуска Редактора реестра.HKEY_CURRENT_USER\Identities\{Уникальный_GUID_Пользователя}\Software\Microsoft\Outlook Express\5.0
0..dbx.Для автоматизации этой задачи системные администраторы могут создать простой командный файл восстановления счетчика и поместить его, например, в автозагрузку пользователя. Посмотрим на пример кода такого файла:
@echo off
:: Скрипт автоматического сброса счетчика сжатия Outlook Express
:: Внимание: замените {GUID} на фактический GUID вашей учетной записи из реестра
set KEY="HKEY_CURRENT_USER\Identities\{YOUR-GUID-HERE}\Software\Microsoft\Outlook Express\5.0"
reg add %KEY% /v "Compact Check Count" /t REG_DWORD /d 0 /f >nul
echo Счетчик сжатия успешно сброшен на 0.
В заключение отметим, что Outlook Express является морально устаревшим продуктом, поддержка которого давно прекращена Microsoft. Работа с базами данных формата .dbx в современных условиях несет в себе повышенные риски безвозвратной потери важной деловой переписки.
Мы рекомендуем рассмотреть возможность перехода на современные бесплатные почтовые клиенты, такие как Mozilla Thunderbird, или платные решения вроде Microsoft Outlook. Процесс миграции максимально прост: современные программы умеют напрямую импортировать папки писем и контакты из установленного в системе Outlook Express, либо вы можете импортировать извлеченные файлы .eml обычным перетаскиванием, навсегда избавившись от лимита в 2 гигабайта.