Восстановление удаленных писем на IMAP-сервере с помощью Thunderbird

У меня есть почтовый сервер IMAP и я использую Thunderbird в качестве своего клиента. Я не понимал синхронизацию клиент-сервер с использованием IMAP против POP. Мой IMAP-сервер заполнялся, поэтому я вошел на сервер и удалил папку "Входящие", думая, что в Thunderbird есть локальные копии почты.

Когда я открыл Thunderbird, он синхронизировался с сервером IMAP и пометил всю мою электронную почту как удаленную. К счастью, электронные письма все еще существуют в файле {path}/thunderbird/profile/default/INBOX. После некоторых исследований в сети я отредактировал этот файл и изменил все "X-Mozilla-Status:0001" на "" X-Mozilla-Status:0000".

Когда я вернул Thunderbird обратно, электронные письма все еще исчезли. Кто-нибудь знает, как их восстановить?

4 ответа

У меня была похожая проблема - из-за некоторой причуды куча писем исчезла с моего сервера IMAP, но осталась в файлах INBOX и Sent на локальном диске. Мне не удалось заставить Thunderbird восстановить эти электронные письма на сервере IMAP напрямую, поэтому я выбрал другой подход:

  • Создайте учетную запись POP3 с теми же учетными данными, что и IMAP, но убедитесь, что эта учетная запись не может подключиться - не вводите свой пароль.
  • Выключите Thunderbird и перейдите к /Profile/randomname.default/Mail/hostname_of_your_server/
  • Дважды проверьте, что это действительно ваша вновь созданная фиктивная учетная запись, а не какая-либо другая ценная, но с аналогичным названием POP3.
  • Скопируйте файл "Входящие", содержащий удаленные электронные письма, перезаписав его из фиктивной учетной записи, и удалите файл inbox.msf, который также находился в этой папке фиктивной учетной записи.
  • Запустите Thunderbird - обратите внимание, что все ваши письма возвращены! Как удаленные, так и неосуществленные отображаются в фиктивной учетной записи POP3.
  • Теперь возьмите расширение Thunderbird "Удалить дубликаты (Alternate)" отсюда: Удалить дубликаты (Alternate).
  • Используя вышеупомянутое расширение, установите папку "Входящие IMAP" как "Задать исходную папку (и) сообщений для следующего поиска дубликатов" и запустите "Удалить дубликаты" на фиктивной папке "Входящие" POP3.
  • Переместите дубликаты сообщений в корзину.
  • Переместите оставшиеся сообщения из папки "Входящие POP3" в папку "Входящие IMAP". Thunderbird автоматически перезагрузит все сообщения на сервер IMAP.

Готово!

IMAP и POP - это не одно и то же! POP - это протокол передачи, отправляющий электронную почту с сервера на клиент. IMAP - это протокол синхронизации, хранящий электронную почту на сервере и обычно сохраняющий версию локального кэша.

IMAP имеет два этапа удаления, хотя большинство клиентов не разделяют их. Это: пометить как удаленное и удаленное удаление. Как я уже упоминал, большинство клиентов делают оба одновременно.

Как только электронное письмо удалено с сервера, оно должно быть сброшено с любого локального кэша, окончательно удаляя электронные письма, при следующей синхронизации. Изменение кэша не изменит сервер.

Аварии - это причина, по которой вы делаете хорошие резервные копии; так что вы можете просто восстановить электронную почту.

Вот решение, которое не требует создания новой поп-учетной записи.

Хорошо, если у вас не много писем или целые папки были очищены.

  • Прежде всего: всегда делайте резервную копию! Для этого просто скопируйте свой профиль, расположенный в (Linux) ~/.thunderbird/[random].default, в другое место.
  • Перейдите в свой профиль imap, расположенный в (Linux) .thunderbird/[random].default/ImapMail/[accountname]
  • Скопируйте папки, файлы без расширения.msf, в локальные папки Thunderbird, расположенные в.thunderbird/[random].default/Mail/Local Folders
  • Перезапустите Thunderbird и проверьте свои локальные папки.
  • Теперь вы можете просто перетащить письма в свой профиль IMAP снова

Мы заметили, что некоторые письма дважды появлялись в новых локальных папках, но только одна из них была помечена как непрочитанная. Таким образом, вы можете легко отфильтровать их.

поэтому я зашел на сервер и удалил

Вы имеете в виду, что вы ssh'ed в сервер? что это за сервер? если на нем запущена файловая система моментальных снимков, возможно, удастся восстановить папку "Входящие" из моментальных снимков...

Другие вопросы по тегам