О восстановлении почты

mac-mailБез электронной почты в наше время обойтись сложно. Практически любое действие в сети, будь то регистрация на развлекательном портале, совершение покупок или обмен деловой информацией, не обходится без использования электронного почтового ящика. Почта служит не только средством коммуникации пользователя или идентификации его в той или иной системе, но также и своеобразным хранилищем, благодаря которому вы всегда можете вспомнить, чем завершилась ваша последняя беседа с партнером или знакомым, «поднять» необходимую информацию по сделкам или получить доступ к любому ранее пересылаемому файлу с любого доступного вам устройства. Поэтому потеря даже небольшой части данных, хранящихся в почтовом ящике, может стать серьёзной проблемой. А это, к сожалению, может произойти, и причины могут быть самые разнообразные, от неудачного обновления или апгрейда системы или сбоев в работе почтового клиента до случайного или необдуманного удаления почты самим пользователем.

MailprefsВ последнем случае всё может оказаться не так уж и трагично, и проблему удастся решить несколькими простыми действиями. По умолчанию, при добавлении новой учётной записи почты в Mail она настраивается таким образом, что удаленные сообщения сначала перемещаются в ящик «Корзина» и ещё месяц хранятся на сервере. Таким образом, если вы заметили пропажу недавно и уверены, что месяца с момента удаления того или иного письма не прошло, есть шанс, что при входе на веб-интерфейс вашего почтового ящика вы сможете его найти в папке «Корзина». В этом случае вам достаточно просто переместить нужные вам письма в папку «Входящие» и при следующей синхронизации с сервером они появятся в почтовых клиентах на ваших устройствах.

Если же вы меняли настройки почты, или письма пропали по другой причине (например, после апгрейда системы), вы всё ещё можете их восстановить, если у вас есть резервная копия Time Machine (а мы очень надеемся, что она есть). В этом случае у вас есть несколько вариантов.

Вы можете запустить Mail и открыть Time Machine. Это можно сделать, кликнув по соответствующей иконке на панели меню и выбрав пункт «Войти в Time Machine»(если значок в панели меню не отображается, в можете его добавить, перейдя в меню Системные настройки → Time Machine и поставив галочку напротив пункта «Показывать Time Machine в строке меню»).  После этого, в интерфейсе Time Machine вы можете «отмотать» Mail до состояния, когда потерянные письма ещё отображаются, выбрать их и нажать кнопку «Восстановить». Однако, этот способ приемлем, если писем немного, в противном случае он может оказаться не слишком удобным.

Вы также можете полностью откатить систему на дату, когда вся почта была на месте, загрузив Mac в режиме восстановления (зажав клавиши ⌘Command + R при включении) и выбрав пункт «Восстановить из резервной копии Time Machine». Но этот вариант тоже удобным назвать сложно. Восстановление займет внушительное количество времени, а в результате вы можете потерять данные, которые были сохранены после создания выбранной вами резервной копии.

Последний же вариант, который может оказаться самым эффективным, — восстановить папку с почтой из резервной копии при помощи Finder вручную.

Mail хранит все данные в папке Macintosh HD → <Имя пользователя> → Библиотека (она же Library) → Mail. Вы можете попробовать перейти в папку «Libray» в Finder (для этого, открыв меню «Перейти», зажмите клавишу ⌥Alt/Option и выберите появившийся пункт «Библиотека»), и затем, открыв Time Machine, восстановить папку «Mail». Однако, несмотря на то, что папка будет видна в интерфейсе Time Machine, вероятнее всего, кнопка «Восстановить» для неё будет неактивна.

Чтобы обойти это ограничение, вы можете восстановить папку вручную, вместе с файлом настроек Mail.

  1. Завершите работу Mail.
  2. Откройте в Finder диск, который вы используете для резервного копирования.
  3. Перейдите в папку с резервной копией вашей папки «Библиотеки». Найти её вы сможете перейдя по следующему пути: Backups.backupdb → <Имя компьютера> → Latest → Macintosh HD → Users → <Имя пользователя> → Library

    В данном случае мы выбрали папку «Latest», в которой хранится самая последняя резервная копия системы. Вы же можете вместо неё выбрать папку с нужной вам датой. Дальнейший путь останется неизменным

  4. Выберите папку «Mail» и нажмите сочетание ⌘Command + C чтобы скопировать её.
  5. Перейдите в папку «Библиотека» на вашем компьютере (для этого, открыв меню «Перейти», зажмите клавишу ⌥Alt/Option и выберите появившийся пункт «Библиотека») и переименуйте уже существующую папку «Mail» в «Mail-old».
  6. Нажмите сочетание клавиш ⇧Shift + ⌥Alt/Option + ⌘Command +V, чтобы вставить скопированную вами из резервной копии папку «как есть», с сохранением всех настроек прав доступа. При необходимости введите имя и пароль от учётной записи с правами администратора.

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

Это происходит из-за того, что Time Machine прикрепляет к файлам специальные настройки прав доступа, которые называются ACL (access control lists), чтобы предотвратить их изменение на диске с резервной копией, запретив доступ группе everyone, о роли которой мы упоминали в предыдущей статье. Когда мы скопировали папку из резервной копии, мы также скопировали и её ACL, который имеет примерно следующее содержание:

Несколько сбивает с толку тот факт, что если вы выделите папку Mail и нажмете сочетание клавиш ⌘Command + I, чтобы посмотреть информацию о ней, то увидите, что в разделе «Общий доступ и права доступа», вам даны права на чтение и запись. Это объясняется тем, что Finder видит только старые, более простые настройки доступа, а ACL ему недоступны. Чтобы Mail получил доступ к своей папке, нам необходимо избавиться от ACL для неё и всех содержащихся в ней файлов. Для этого запустите Терминал из папки «Утилиты» и введите команду chmod -R -N ~/Library/Mail

После этого нам осталось только восстановить файл настроек Mail, который содержит информацию об учётных записях почты и соответствующих им ящиках. Это необходимо для того, чтобы почтовый клиент нашёл все письма и ящики и ничего не пропустил. Например, если потеря данных связана с удалением каких-либо папок (или учётной записи целиком), то ваш текущий файл настроек не будет иметь данных о них, и, соответственно, они не отобразятся. Старый же файл укажет почтовому клиенту, что эти папки существуют.

  1. Снова откройте директорию с нужной вам резервной копией и перейдите в ней в папку Containers → com.apple.mail → Data → Library → Preferences
  2. Найдите файл «com.apple.mail.plist» и скопируйте его сочетанием клавиш ⌘Command + C
  3. Ещё раз перейдите в Библиотеку на вашем компьютере и найдите в ней папку Containers → com.apple.mail → Data → Library → Preferences
  4. Нажмите сочетание клавиш ⌘Command + V, чтобы вставить скопированный вами файл и нажмите кнопку «Заменить» в окне с предупреждением.

После этого вы можете запустить клиент Mail, который, руководствуясь старым файлом настроек, отобразит всю почту, включая утерянные письма. После первой синхронизации клиент получит недостающие новые письма, а в веб-интерфейсе отобразятся старые. После того как вы проверите и убедитесь, что всё находится на своих местах, папку, которую мы переименовали в «Mail-old» можно будет удалить.

Огромное спасибо Кристоферу Кесслеру за оригинальный материал, послуживший основой для написания данной статьи.

Об авторе Дмитрий Архипов

Специалист технической поддержки пользователей.
Метки: , , , , , . Закладка Постоянная ссылка.