MS Outlook to Unix Mailbox Conversion mini HOWTO

Greg Lindahl, [email protected]
Перевёл Дмитрий А. Смирнов, [email protected]

Версия 1.2.1, 18 октября 2001 года.


Данный MiniHowto описывает процесс конвертирования старой электронной почты Microsoft Outlook (не Outlook Express!) в типичные форматы файлов Unix.

1. Введение

В то время как существует несколько программ для конвертирования ряда форматов, таких как Microsoft Outlook Express, в форматы Unix, для пользователей Outlook дело обстоит немного сложнее. Один способ конвертирования предполагает использование Mozilla Mail под Windows, другой включает в себя более сложный метод. Описание обоих способов содержится в данном miniHOWTO.

Формат базы данных, который Outlook использует для файлов .PST, называется Jet и описывается на

http://msdn.microsoft.com/library/techart/olexcoutlk.htm.

1.1 Авторские права

Copyright (c) 2001, Greg Lindahl

Пожалуйста, свободно копируйте и распространяйте (продавайте или раздавайте) данный документ в любом формате. Просьба отправлять свои исправления и/или комментарии человеку, ответственному за поддержку данного документа. Вы можете создать производный продукт и распространять его при условии, что Вы:

Если Вы планируете создать производный продукт, отличный от перевода, желательно обсудить свои планы с текущим ответственным за документ человеком.

1.2 Ответственность

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

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

Упоминание отдельных продуктов или марок не следует рассматривать в качестве их одобрения.

Настойчиво рекомендуется регулярно создавать резервную копию Вашей системы перед большими инсталляциями.

Не засовывайте свою кошку в работающую микроволновую печь.

1.3 Новости

1.01: Исправлена небольшая опечатка в инструкции по запуску inetd/xinetd.

1.1: Добавлена информация о Kmailcvt, Mozilla и о том, каким образом можно заставить Outlook общаться с IMAP-серверами, если он находится в Exchange-режиме.

1.2: Добавлены подробности об использовании Mozilla для данной задачи.

1.2.1: Исправлена опечатка при форматировании.

1.4 Другие способы выполнения этого

Список утилит по конвертированию, большая часть которых является коммерческими, можно обнаружить на

http://www.emailman.com/conversion/index.html.

Автору встретилось утверждение, что программа Kmailcvt в настоящее время конвертирует почтовые ящики Outlook. Однако полной уверенности в том, что это утверждение верное, нет. Это связано с тем, что Kmailcvt действительно конвертирует почтовые ящики Outlook Express, которые отличаются от почтовых ящиков Outlook. Таким образом, если Вы убедитесь в этом, пожалуйста, сообщите автору.

1.5 Примечание переводчика

В связи с тем, что читатели этого перевода могут использовать не только английскую, но и русскую версию Outlook, при упоминании названий каких-либо его элементов (меню, кнопок и т.д.) переводчик добавлял к ним русский эквивалент (напр., "File"/"Файл").

Перевод распространяется на условиях лицензии GPL2.

Текущая версия перевода находится на Линукс-странице переводчика:

http://daslinux.da.ru/.

Высказывайте свои комментарии, замечания и предложения в гостевой книге на странице или по адресу: [email protected].

2. Конвертирование с использованием Mozilla Mail

У автора имеются сведения, что Mozilla Mail под Windows может конвертировать почтовые ящики Outlook. Он обнаружил документацию на Web-сайте Ximian Evolution (по причине отсутствия Windows-машины, автор не придпринимал попыток осуществить это). Они рекомендуют выполнить следующее:

Запустите Mozilla Mail.

Войдите в меню "File > Import" / "Файл > Импорт" и выберите импорт почты из Outlook. Если это произойдёт, можно говорить о завершении.

По мнению автора, Mozilla сохраняет все свои почтовые ящики в формате mbox, даже под Windows. Таким образом, необходимо будет переместить файлы на Вашу Linux-машину. Вы можете обнаружить их в C:/windows/Application Data/Mozilla/Profiles/default/XXX/Mail/imported.mail/, где XXX - определённый набор знаков. Если на Вашей Windows-машине несколько пользователей, то вместо "default" будет указываться Ваше пользовательское имя.

Автор ранее не предпринимал попыток использовать данный метод, поэтому ничего не может посоветовать относительно его действенности. В частности, проблемы, затронутые в разделе 3.4, возможно, также относятся к данному методу конвертирования.

Кстати, Mozilla может читать почтовые ящики Outlook только под Windows, так как она вызывает Microsoft'овскую DLL для выполнения этого.

3. Конвертирование с использованием IMAP

3.1 Подготовка

Прежде всего, убедитесь в том, что Вы хотите действовать этим способом. В частности, раздел 2 объясняет способы использования Netscape Mail под Windows, чтобы осуществить это конвертирование. Это легче, по сравнению с использованием данного способа.

Если Вы действительно решили воспользоваться данным способом, необходимо убедиться, что Ваша копия Outlook может общаться с IMAP-серверами. Когда автор начинал писать данный HOWTO, он предполагал, что Outlook - везде Outlook. Однако нет. Если Вы используете Outlook в режиме Corporate/Workgroups (который общается с Exchange) вместо режима Internet (который общается с POP/IMAP-серверами), Вам следует поменять режим.

Выполняя проверку происходящего процесса, загляните в Outlook-меню "Tools"/"Сервис" и посмотрите наличие в нем пункта "Accounts"/"Учетные записи". Если таковой существует, всё в порядке. После этого можно перейти к разделу 3.2. В противном случае, наберитесь терпения и читайте дальше.

Смена режима - дело нетривиальное, но отзывчивый читатель (Matt Huyck) сослался на следующую инструкцию, которая выглядит достаточно необычно (автор не выполнял этого):

Выберите "Options..."/"Параметры..." из меню "Tools"/"Сервис", а затем перейдите к вкладке "Mail Services"/"Доставка почты" в появившемся в результате диалоговом окне "Options"/"Параметры". В нижней части этой вкладки находится кнопка с надписью "Reconfigure Mail Support..."/"Изменить конфигурацию почтовых служб...". Задержите дыхание и нажмите на неё. Появится новое окно с надписью "Outlook 2000 Startup"/"Начальная настройка Outlook 2000" в титульной строке и с заголовком "E-mail Service Options"/"Режим работы с почтой". В нем находится пара необходимых кнопок-переключателей: "Internet Only"/"Только Интернет" и "Corporate or Workgroup"/"Корпоративная или для рабочих групп". Выберите "Internet Only"/"Только Интернет". и нажмите "Next >"/"Далее >". После этого появится достаточно длинное сообщение, которое необходимо внимательно прочесть, так как Вы планируете сделать значительное (но обратимое) изменение конфигурации клиента Exchange. Если Вы ещё не потеряли сознание, можете прекратить задержку дыхания. Несмотря на отсутствие явного упоминания об этом, следует убедиться в наличии у Вас копии установочного CD Microsoft Office, прежде чем нажать "Yes"/"Да". Нажмите "Yes"/"Да" и позвольте Outlook выполнить свои действия в течение нескольких секунд, пока он совсем не закроется. Повторно запустите Outlook. После этого Вам может быть предложeно вставить установочный CD. По завершении процесса переконфигурирования можно перейти к п. 3.2. данного HOWTO.

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

Существует ещё одна особенность, если Вы использовали Exchange. Согласно указанному в п. 3.4., "оригинальная строка 'From '" не сохраняется. Однако пользователям Exchange не совсем соответствует замечание "К счастью, Вам, на самом деле, не требуется эта информация". Недостающий заголовок "From" - единственный, в котором содержится идентификация отправителя в сообщениях, посылаемых по внутреннему Exchange-серверу, т.е. в сообщениях, которые никогда не проходят через гейт в Интернет. Автор предварительно сохранил свои заголовки "From", скопировав почтовые папки в текстовой файл с помощью команды "Import and Export..."/"Импорт и экспорт..." в меню "File"/"Файл". Он планирует создать один Perl-/Grep-код, который вставит указанные заголовки "From" в его линуксовые mbox-файлы. Если автор достигнет, чтобы это работало, он обязательно сообщит об этом читателям.

3.2 3.2 Установите IMAP-сервер (временно!) на свою Linux-машину

Утилиты установки варьируются от дистрибутива к дистрибутиву, поэтому в качестве примера он будет использовать RedHat 7.0. Прежде всего, следует установить необходимый пакет, который обычно называется "imap".

 cd /home/redhat-7.0-cd/RedHat/RPMS
 rpm -i imap*

В связи с тем, что автор установил "workstation", ему также было необходимо установить пакет xinetd; rpm выдал сообщение об ошибке, которое попросило автора выполнить это. Как и ожидалось, он находился на втором CD RedHat 7.0. Пользователи Debian, использующие "apt-get", не должны беспокоиться об этом.

Далее, необходимо активизировать imap-сервер. Обычно, это задаётся строкой в файле /etc/inetd.conf:

 #imap    stream  tcp     nowait  root    /usr/sbin/tcpd        /usr/sbin/imapd

Вышеприведённая строка закомментирована; удалите стоящий впереди знак # . В системах Red Hat 7.0 и более поздних с xinetd вместо этого отредактируйте /etc/xinetd.d/imap и измените "disable=yes" на "disable=no".

Затем перезапустите inetd или xinetd, выполнив

 /etc/rc.d/init.d/inetd restart

или

 /etc/rc.d/init.d/xinetd restart
.

Если ничего не получится, перезагрузитесь.

Безусловно, Вам не следует оставлять IMAP-сервер включённым на протяжении длительного времени. Этот сервер работает из-под root. В прошлом, он содержал ошибки безопасности. По этой причине, не следует оставлять его активным до тех пор, пока не появится необходимость использовать его постоянно. Мы дезактивируем этот сервер в п. 4.

Чтобы подключить Outlook к этому IMAP-серверу, необходимо знать имя или IP-адрес Linux-машины.

3.3 Подключение Вашего клиента Outlook к серверу

Чтобы скопировать всю нашу почту на сервер, следует сообщить нашему клиенту Outlook об этом новом сервере. Выберите "Accounts..."/"Учетные записи..." в меню "Tools"/"Сервис", а затем добавьте ("Add"/"Добавить") новую учётную запись "Mail..."/"Почта...". Наиболее важными моментами являются следующие: чтобы сервер использовал IMAP для скачивания на него почты; чтобы сервер входящих сообщений являлся именем или IP-адресом Вашей Linux-машины с шага 1, а имя пользователя и пароль должны являться Вашими именем и паролем на Linux-машине. (Как обычно, неудачной идеей считается использование root'овой учётной записи для этой цели.)

Нажав "Finish"/"Готово", сделайте данную учётную запись используемой по умолчанию, выделив её и нажав "Set as Default"/"Использовать по умолчанию". Outlook должен соединиться с Вашим IMAP-сервером, а имя Вашего IMAP-сервера должно появиться в конце Вашего списка папок. Кликните по нему; должна появиться папк Inbox. (Необходимо помнить, что если на Вашей Linux-машине не существует папки /var/mail/<ваше пользовательское имя>, перетащить хотя бы одно сообщение в свой INBOX будет невозможно. Кроме того, Вас будет сбивать с толку сообщение об ошибке. Хотя это не то, что мы планируем выполнить.)

3.4 Скопируйте всю Вашу почту

С этого момента можно перетаскивать (drag and drop) целые почтовые папки из Outlook на имя Вашего IMAP-сервера. Это действие будет копировать почту, включая все вложения, на Linux-машину. К сожалению, в результате этого папки также будут удаляться из Outlook. Чтобы скопировать данные, не удаляя их, кликните на имя папки правой кнопкой мыши и выберите опцию "Copy"/"Копировать". Для указания, куда копировать, кликните на Ваш Linux-сервер внизу списка.

Однако всё не так просто. Outlook поддерживает папки, содержащие папки, в которых также имеются сообщения. Линуксовый IMAP-сервер этого не поддерживает, папкой в нём является либо обычный файл, содержащий сообщения, либо каталог, содержащий подкаталоги и файлы. Таким образом, если у Вас в Outlook имеются папки, содержащие как сообщения, так и подпапки, будет невозможно скопировать на линуксовый IMAP-сервер всё дерево в целом. Другое несоответствие линуксового IMAP-сервера заключается в том, что необходимо заранее сообщить ему, будет ли новая папка содержать подпапки или сообщения. Это выполняется добавлением слэша (/) в конец имени папки во время ее создания. Этот слэш исчезнет после того, как папка будет создана.

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

Последнее несоответствие, которое следует отметить, заключается в следующем: в линуксовом IMAP-сервере не допускаются папки со слэшами (/) в своих именах. Необходимо будет переименовать такие папки, прежде чем копировать или перемещать их.

На Linux-машине папки появляются в виде файлов и каталогов в Вашем домашнем каталоге. Форматом таких файлов является обычный почтовый формат Unix, который большая часть почтовых средств Unix/Linux либо непосредственно использует, либо может конвертировать в/из. Файлы с вложениями должны иметь вложения MIME; там также имеется одно дополнительное сообщение на папку, которое представляет собой один (бесполезный) заголовок.

(Часть данных, которая не сохраняется: оригинальная строка "From", содержащая адрес отправителя электронной почты. К счастью, Вам не требуется данная информация.)

3.5 Удалите IMAP с Вашей Linux-машины

Как только Вы переместите всю свою почту, удалите IMAP-сервер с Вашей Linux-машины из соображений безопасности, отмеченных ранее. Это включает те же 2 шага, которые были осуществлены Вами для установки сервера.

  1. Удалите RPM:
      rpm -e imap
    
  2. Удалите строку в /etc/inetd.conf или в /etc/xinetd.d/imap
  3. Перезапустите inetd или xinetd; либо перезагрузитесь.

Вас можно поздравить! Вы сделали ещё один шаг к свободному от Microsoft образу жизни.