Сисадмин-любитель (ulrith) wrote,
Сисадмин-любитель
ulrith

обработка MSG-файлов от Microsoft Outlook

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

У моего друга накопилось много писем и полезного бекона в, конечно же, аутлуке. (Ну кто из бизнесменов не использует аутлук? Это же как галстук для делового человека! Разве что только такие отщепенцы, как я... :-) Друг затеял сделать рассылку по адресам из этих писем, а их в его инбоксе - под тысячу. Бедняга попытался найти какие-нибудь экстракторы для выцепления адресов из писем, но для него они не сработали, т.к. его бизнес-бекон не был должным образом оформлен и содержал адрес клиента не в заголовке письма, а в его теле. И тут появляюсь я - Убунтомэн! :-)

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

После получения сырья выяснилось, что MSG-файлы с сообщениями аутлука, которые получаются при вышеописанном способе экспорта, ничем на моей Убунте не читаюццо.

Как обычно, выход нашёлся в Гугле. Им оказалась премилая софтинка msgconvert - этот перловый скрипт конвертирует маздайный MSG в стандартный RFC822 (как говорит автор: from the evil proprietary format into open standard goodness :-).

Переработанная папка MSG-файлов превратилась в папку текстовых файлов, на которые правильный юнексоид напускает, конечно же, grep. Команды для вытаскивания адресов отправителей выглядят так:

# обработка бекона: там адреса лежат в теле письма в формате "MAIL: адрес"
grep -h ^MAIL: *.mime > e-mails1.txt

# обработка писем: адреса беруццо из стандартного поля From
grep -h ^From: *.mime > e-mails2.txt


Ясно, что таким же образом можно вытащить из писем любую нужную информацию за какие-нибудь пять минут. Спасибо за внимание.
Tags: unixway
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 2 comments