15 Янв 2010

А что, если Google рухнет: архивация и восстановление почты Gmail на локальном компьютере.

Пару дней назад на Friendfeed обсуждали проблему, кто как предохраняется.
Нет-нет, не о том, о чем вы подумали, а о почте.
Большинство моих друзей по friendfeed’y используют в качестве почтового клиента . Я, впрочем, тоже. Надежный и быстрый клиент, неограниченный практически почтовый ящик — все это подталкивает использовать в качестве хранилища всякой всячины. Я, например, частенько посылаю письмо самому себе, чтобы перед уроком распечатать дидактические материалы, или показать презентацию на семинаре. Конечно, логичнее для этой цели использовать Googl Docs — но не всегда хочется связываться с еще одним сервисом (перед лекцией каждая секунда дорога) -почту же открываешь, как говорит молодежь «по-любому».
Несмотря на нашу уверенность в том, что сервисы Google надежны, как скала и это никогда не изменится иногда стоит подумать и о безопасности данных.
Есть несколько способов создания бекапа для последующего восстановления писем: простой, очень простой и не очень сложный.
Начну с очень простого.

Архив почты Gmail в локальной почтовой программе.

Самый простой способ создать архив почты — это, не мудрствуя лукаво, поставить себе на компьютер почтовый клиент. При настройке подключения его к аккаунту Gmail по протоколу IMAP вы получаете замечательную возможность синхронизировать каждую папку по отдельности (это имеет смысл, если ваш архив занимает больше 500 мегабайт — в этом случае почтовики начинают нервничать и сопротивляться синхронизации).
Ой, что я говорю: какие папки? В Gmail’е же нет никаких папок, а есть теги. вы будете приятно удивлены — и MS Office , и Mozilla Thunderbird автоматически конвертирует теги в папки, заботливо раскладывая по ним ваши письма.
Собственно, я уже назвал и почтовые программы, которые можно использовать для архивации почты с целью ее последующего восстановления из небытия, когда серверы Google рухнут. Это, прежде всего Mozilla Thunderbird, настройку этого клиента можно посмотреть на странице справки Gmail.

Там же подробные инструкции для Outlook 2007 и Outlook 2003

Outlook Express  использовать не рекомендую. Он очень не любит работать с большими почтовыми базами.

Способ  №2 — простой.

Использование для архива специальной утилиты.

Рецепт этот приводит rushills на сайте lifehacker.ru

Gmail Backup сохраняет резервные копии содержимого вашего ящика на Gmail, используя тот же самый пресловутый IMAP. Преимущество отдельного инструмента – простота. Пользователям Windows предлагается простой графический интерфейс и сохранение в формат EML – стандартный для почтовых программ компании Microsoft и поддерживаемый большим количеством сторонних производителей. Всадникам Linux и Mac OS X предлагается утилита командной строки, возможно даже более правильная реализация утилиты резервного копирования, на мой взгляд. Заметим, что программа даст вам постоянный доступ и к сообщениям, и к вложениям, пересылаемым в них.

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

Как я уже заметил, утилита работает в Windos, Linux и Mac OS X.

Загрузить программу можно вот отсюда: Gmail Backup

Способ №3 — не очень сложный.

Для тех, кто понимает, что у Gmail внутри.

автор этого рецепта — synchrone с Хабра.

Подготовка

Первым делом, нам надо Поставить Gears

Залогиниваемся в GMail, идём в чаты и помечаем ярлыком (например export) нужные чат-сессии.
Далее, идём в Настройки Gmail Offline, выбираем Включить Gmail Офлайн для этого компьютера, жмём по ссылке Изменить настройки ярлыка и ставим Все напротив ярлыка export (все остальные можно выставить в Нет, чтобы не качать лишнего.
Дальше остаётся Сохранить изменения и подождать пока Gears синхронизирует нужные цепочки с локалхостом.

База

Пройдясь по директориям Firefox, я нашёл хранилище Google Gears.

Cуть такова, что письма и чаты лежат в файле
%username%@%servername%-GoogleMail@%servername%#database
где %servername% — обычно gmail.com, но для сервисов гугл для домена — будет вашим доменом соответственно.

Заметьте: файл может называться и …#database[1] и [2] или вообще без [цифры], так что если чатов нет в одном файле, то надо будет попробовать со всеми (кроме тех, в чьем имени есть -b, -t, -u, это какая-то служебная информация, нас она не интересует)

Сам файл базы данных находится в %GearsDatabaseDir%/mail.google.com/http_80
где _80 может быть также и _443, если используется SSL, а %GearsDatabaseDir% для вашей платформы можно узнать здесь

Как оказалось, база лежит в формате SQLite. Дальше — проще. sqlite3, скачанный с офсайта помогает нам добраться до самой сути GMail Offline.

Выдёргиваем

Для начала проверим, есть ли там сообщения для нужного нам ярлыка:
sqlite3 -line "user@gmail.com-GoogleMail@gmail.com#database" "SELECT l.`Label` as `label`,COUNT(*) as messages FROM `Labels` l, Messages m, MessageLabels ml WHERE ml.`LabelId`=l.`LabelId` AND m.`rowid`=ml.`MessageId` AND l.`Label`='export'"

Получаем:
label = export
messages = 662

Итак, сообщения есть, можно начинать экспортировать.

Создадим заголовок (<html><body>) и «подвал» (</body></html>) будущего HTML файла чатов, и запустим:
sqlite3 -list -separator 'nn' "user@gmail.com-GoogleMail@gmail.com#database" "SELECT '<h3>'|| datetime(m.`datems`/1000,'unixepoch','+3 hours') || '</h3>' || c.`c1Body` || '<br /><br />' FROM MessagesFT_content c, Messages m, MessageLabels ml, Labels l WHERE ml.`LabelId`=l.`labelId` AND c.`rowid`=ml.`MessageId` AND m.`MessageId`=c.`rowid` AND l.`Label`='export' ORDER BY m.`datems` ASC" > body.html

(+3 hours заменить на ваш часовой пояс)

А теперь осталось только «слить» файлы в один.
Под Windows:
copy /B header.tpl + body.html + footer.tpl history_export.html

(если не ставить /B то под winxp остаётся в конце какой то стрёмный символ. сopy его зачем-то ставит)

Bash:
cat header.tpl >> history_export.html
cat body.html>> history_export.html
cat footer.tpl >> history_export.html

Вот вкратце и всё. Можно ещё воспользоваться html2text, что, учитывая объем оформления (CSS не было использовано!) — по меньшей мере рационально.

Возможно, Вас заинтересует также информация по следующим ключевым словам, которую обычно ищут на моем сайте
скачать office 2007 бесплатно кряк
скачать бесплатно Microsoft office 2007
ключи офис ворд
как правильно делать презентацию на компьютере
microsoft office 2007 скачать бесплатно
где outlook express хранит учетные записи

Метки:, , , ,

, , ,