|
Handling deleted messages in Thunderbird
 |
|
 |
 |
|
 |
|
Когда Вы удаляете сообщение из почтовой папки в Thunderbird,
незамедлительного физического удаления сообщения из хранилища сообщений
не происходит, вместо этого, Thunderbird просто изменяет статус
удаленных сообщений в исходном файле с сообщениями, чтобы затем удалить
их при очередном сжатии (команда Compact) соответствующего файла
почтовой базы. Статус каждого сообщения описывается двумя служебными
записями (полями)
X-Mozilla-Status и X-Mozilla-Status2. Когда Thunderbird
нужно пометить какое-либо сообщение как удаленное, программа не стирает
сообщение из базы, а просто изменяет значения этих полей. Следовательно,
верно и обратное - для того, чтобы восстановить удаленное из Thunderbird
сообщение, нужно изменить значения этих полей таким образом, чтобы при
следующем запуске Thunderbird это сообщение попало в категорию новых
писем.
Некоторые значения отвечающих за статус сообщения полей приведены
ниже. Значения должны быть точно четырех- (или восьми-) символьными.
X-Mozilla-Status
- 0001 - Сообщение было прочитано.
- 0002 - На это сообщение был отправлен ответ.
- 0004 - Пользователь отметил (звездочкой) это сообщение.
- 0006 - 0002 + 0004 комбинация
- 0007 - 0001 + 0002 + 0004 комбинация
- 0008 - Сообщения с таким значением поля будут безвозвратно
удалены при следующем сжатии базы.
- 0009 - 0008 + 0001 (прочитанное, удаленное сообщение).
X-Mozilla-Status2
- 00010000 - Это сообщение новое с момента последнего закрытия
папки.
- 00200000 - Это сообщение отмечено как удаленное на сервере
(применимо только к сообщениями на IMAP серверах).
- 00040000 - Если выставлено такое значение, то этот поток
игнорируется (на практике, сообщения с таким значением не
показываются)
- 10000000 - Показывает, что у сообщения есть вложения.
Более подробную информацию по значениям полей, отвечающих за
статус сообщений, смотрите
http://lxr.mozilla.org/seamonkey/source/mailnews/base/public/nsMsgMessageFlags.h#108 |
|
 |
|
 |
 |
|
 |
 |
|
 |
|
Итак, если нужно восстановить удаленное сообщение, то:
- Закройте Thunderbird и сделайте резервную копию исходных файлов
почтовых баз, которые вы собираетесь править.
(Где искать файлы с
сообщениями от Thunderbird?)
- Откройте файл с сообщениями с помощью вашего любимого текстового
редактора, используя режим редактировать (Edit)
(Некоторые соображения насчет
текстовых редакторов)
- Перейдите к нужному сообщению, используя функцию редактора
Поиск (Search)
- Определите границы сообщения. Каждое сообщение в файле почтовой
базы Thunderbird начинается со строки "From - ", в которой
также содержатся время и дата (что-то наподобие "From - Tue Oct 09 17:27:46 2007").
Таким образом, посмотрите немного выше и ниже фрагмента сообщения
(см. предыдущий шаг) и найдите такие строки начала сообщения. Ваше
сообщение находится между этими строчками в файле почтовой базы,
причем верхняя определяет начало сообщения, а нижняя уже относится к
следующему.
- Последовательно просмотрите все поля сообщения и найдите строки,
содержащие "X-Mozilla-Status" и "X-Mozilla-Status2".
- Измените значения этих полей на
- X-Mozilla-Status:xxxx на
X-Mozilla-Status:0000 (таким образом, Вы маркируете
сообщение как новое и непрочитанное)
- X-Mozilla-Status2:xxxxxxxx на
X-Mozilla-Status2:00000000 (это гарантирует, что сообщение
не удаленное)
- Выйдите из редактора, сохранив изменения в файле почтовой базы.
- Удалите соответствующий файл .MSF
(Что такое файл .MSF?)
- Запустите Thunderbird
|
|
 |
|
 |
 |
|
 |
 |
|
 |
|
- Предыдущие версии Zmeil извлекали сообщения из файлов почтовых
баз Thunderbird в том виде, как они были в файле. Следовательно,
если сообщение в базе было отмечено как удаленное, то
восстановленная форма этого сообщения тоже содержала отметку об
удалении, а значит такое сообщение не отображалось в Thunderbird и
удалялось при очередном сжатии базы.
- Это проблема была решена начиная с версии Zmeil 2.1 путем
удаления полей, отвечающих за статус, из восстановленной формы
сообщения. Теперь все извлекаемые сообщения отображаются в
Thunderbird как новые и непрочитанные.
|
|
 |
|
 |
|
|