BLOGTIMES
2014/04/20

.msg を .eml に変換する (ruby-msg編)

  migration  ruby  msoffice  bat 
このエントリーをはてなブックマークに追加

Outlook のメールファイルである .msg を他のメーラーで読める .eml 形式に変換する方法については以前にも Outlook Export Tool を使う方法MSG To EML Converter を使う方法を取り上げましたが、どちらもちょっと怪しい無料のソフトウェアを使わなければならないのが欠点と言えば欠点でした。

今回は ruby-msg という pure ruby で書かれたライブラリを使って .msg を .eml に変換します。pure ruby なので、プラットフォーム非依存かつ、CLI 対応なのでファイルが多い場合にはバッチで処理することができるので、エンジニアの人であればこちらのほうが汎用性が高いです。オープンソースなので、中身を見ようと思えばみられるところも良いですね。

ruby-msg - A library for reading and converting Outlook msg and pst files (mapi message stores). - Google Project Hosting

Generally, the goal of the project is to enable the conversion of msg and pst files into standards based formats, without reliance on outlook, or any platform dependencies. In fact its currently pure ruby, so it should be easy to get running.
It is targeted at people who want to migrate their PIM data from outlook, converting msg and pst files into rfc2822 emails, vCard contacts, iCalendar appointments etc. However, it also aims to be a fairly complete mapi message store manipulation library, providing a sane model for (currently read-only) access to msg and pst files (message stores).

gem になっているのでインストールは gem install ruby-msg で一撃です。
インストールが終わると mapitool というコマンドが使えるようになっているので、下記のような感じでコンバートすることができます。

mapitool -i *.msg

Windows でお手軽に変換したい場合

上記の手順はエンジニアで ruby がある程度使いこなせることを前提にしているので、一般ユーザーの場合にはちょっと辛いかもしれません。そんなときには ruby-msg のプロジェクトが用意してくれている Windows 版のバイナリを使いましょう。下記のダウンロードサイトから、末尾が mswin32-stand_alone.zip というファイルをダウンロードして適当な場所に解凍しておきます。

コマンドライン操作が苦手な場合は mapitool.exe と同じフォルダに msg2eml.bat というファイルをテキストエディタで作成し、下記の内容を書き込んでおきます。あとは必要なファイルをこの msg2eml.bat にドラッグアンドドロップすれば、msg ファイルと同じフォルダに eml ファイルが生成されるはずです。

msg2eml.bat

cd /d %~dp0 mapitool.exe -i "%~1"

    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/6664
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン