Как извлечь адреса электронной почты автозаполнения, сохраненные в Outlook, для общего использования?

Как извлечь адреса электронной почты автозаполнения, сохраненные в Outlook, для общего использования?

Многие люди в моей организации не используют функции контактов Outlook, поэтому им нечего экспортировать. Вместо этого они полагаются на список автозаполнения. Янетспрашивая о том, какпередать этот список как есть, например, при получении новой рабочей станции. Иногда нам нужны эти списки в текстовом формате. Файлов нет, .nk2поскольку учетные записи используют IMAP, поэтому Outlook хранит данные внутри (как описано в связанной справке). Есть ли простой способ получить их?

решение1

Я не думаю, что у меня самое эффективное решение, но оно сработало. У меня рабочая станция Linux, поэтому я вырвал текст, пиная и крича, используя инструменты, которые я уже знаю. Вы можете сделать то же самое с версиями Windows и/или оболочкой BASH, которая идет сGit для Windows, если у вас нет других подходящих программ для обработки файлов.

  1. Используйте MFCMAPI на исходной машине для извлечения IPM.Configuration.Autocompleteфайла в виде файла TXT. Это выходит за рамки, но вы можете следовать первой части инструкций по передаче, ссылка на которые приведена в вопросе.

  2. Откройте файл в текстовом редакторе, это XML. Перейдите к , <property>содержащему PR_ROAMING_BINARYSTREAM, и сохраните только длинную шестнадцатеричную строку ( 0DF0...) в <Value>виде отдельного текстового файла, например automplete-dump-hex.txt. Сохраните его в ASCII/UTF-8, без отметки порядка байтов.

  3. Конвертировать этот файл, содержащий шестнадцатеричный поток, в двоичный. Я использовал команду типа этой:

    xxd -r -p < automplete-dump-hex.txt > automplete-dump-raw.txt
    
  4. Этот необработанный текст содержит простые текстовые части в UTF-16, little-endian, но также содержит двоичные данные, а строки разделены нулевыми байтами. Вы можете открыть его в любом подходящем редакторе и пойти своим путем, отсюда. Я открыл его в Vim, принудительно установив кодировку :e ++enc=utf-16le automplete-dump-raw.txt, затем перезаписал его как UTF-8 ( :set fileencoding=utf-8).

  5. Я рассматривал пустые символы как разделители строк и искал все, содержащие @, а затем преобразовывал пустые символы в новые строки:

    grep -zF @ automplete-dump-raw.txt | tr '\000' '\n' > automplete-dump-possibles.txt
    
  6. Затем я привел последний выходной файл в более удобный формат (TSV):

    1. Сортировка и удаление повторяющихся строк (Vim :sort u);
    2. Удалены строки с ложными данными;
    3. Использовал регулярное выражение replace для преобразования name <email@address>в два отдельных поля;
    4. Удалены одинарные кавычки вокруг некоторых имен; и
    5. Снова удалены дубликаты, предпочтение отдано строкам с именем и адресом, а не только с адресом.

Это успешно создало списки с сотнями уникальных адресов, что меня порадовало. Я думаю, что это описание шагов длиннее, чем сами шаги.

Связанный контент