【神原キサコの制作日誌】お客様から届いた謎のファイル「.msg」。あなたならどう開きますか?

神原キサコの制作カフェ

皆様、こんにちは。
ハンズバリュー株式会社のWebデザイナー、神原キサコです。

本日は番外編として、私が日々の業務で直面した、ちょっとした「困った!」と、その解決策についてお話ししたいと思います。

スムーズな連絡の裏側で…

当社では、お客様とのスムーズな連絡を目的に、ビジネスチャットツール「Chatwork」の導入を推進しています。ご契約いただくタイミングでアカウントの作り方をご説明したり、チュートリアルをご提供したり…。気持ちの良いコミュニケーションと、信頼関係の醸成のため、日々活用しています。

そんなある日のこと。お客様とのChatworkで、ピコン♪と通知が。 確認してみると、ファイルが添付されていました。そのファイル名は…

●●●.msg (25.00 KB)

「…ドット エムエスジー…?」

そう、これはWindowsのメールソフトから、メールそのものをドラッグ&ドロップなどで添付したファイル形式だったのです。

開けないファイルのジレンマ

さて、困りました。 Googleで検索すれば、このファイルを開くためのフリーウェアやWebサービスがたくさん見つかります。でも、正直なところ…

  • わざわざこのファイルのためだけに、PCにWindowsメールを設定するのは面倒…。
  • どんな機密情報が書かれているか分からないのに、得体の知れないWebサービスにアップロードするのは怖い!
  • 中国産?どこの誰が作ったか分からないフリーウェアを導入して、ウイルスに感染したらどうしよう…

お客様に「すみません、読めないのでFAXで送ってください!」と言いたくなる気持ちを、ぐっとこらえました。

一度FAXに頼ってしまうと、今後も同じことが繰り返されるかもしれませんし、「メールで転送してください」とお願いすると、せっかく慣れてきたChatworkを使っていただけなくなるかもしれない…。

安全に、スマートに、そして自力で解決する方法はないものか…。 悩んで、悩んで、悩みに悩み尽くした結果、ついに一つの解決策にたどり着きました!

解決策は「Google Colaboratory」!

その解決策とは、Googleが提供している「Google Colaboratory(コラボ)」を活用する方法です。

「Google Colaboratory(通称: Colab)」とは、Googleが提供している、専門的なプログラム(Python)をブラウザ上で簡単に実行できる無料のサービスです。

Google謹製のツールであり、処理はすべてGoogleの安全な環境の中で行われます。
そのため、得体の知れないWebサービスのように、アップロードしたファイルの情報が外部に流出したり、他の目的に使われたりする心配がありません。

「専門的なプログラム」と聞くと、なんだか専門的で難しそうに聞こえるかもしれませんが、大丈夫!これからご紹介する方法ならほぼコピー&ペーストだけで、安全にファイルの中身を確認できます。

一緒に試してみましょう!

Google Colabで「.msg」ファイルを開く3ステップ

ステップ1:ライブラリのインストール

まず、お使いのブラウザ「Google Chrome」でGoogle Colabにアクセスしてください。 すると、コードを入力する画面が表示されます。
そこに、以下の1行をコピー&ペーストしてください。

(カーソルを合わせると右側にコピーボタンが表示されます)

				
					pip install extract-msg
				
			

ペーストしたら、コードの左側にある再生ボタン(矢印のアイコン)を1回クリックします。これで、.msgファイルを読むための準備が整います。

Googleコラボで上記のコードを実行した状態。セルにコードをコピーして▲ボタンを押すと動きます。

ステップ2:ファイルのアップロード

次に、問題の.msgファイルをGoogle Colabに読み込ませます。 画面の左側にあるフォルダのアイコンをクリックし、ファイルをアップロードしてください。(ファイルの文字のすぐ下にあります。四角の中に上矢印のマーク。)

【重要】 この時、アップロードするファイル名はsample.msgに変更しておいてください。

(※「このファイルは記録されません」という警告が出ることがありますが、無視して大丈夫です)

ステップ3:内容の読み込みと表示

最後に、以下のソースコードを全てコピーして、新しいコード入力欄に貼り付けます。

(カーソルを合わせると右側にコピーボタンが表示されます)

				
					Python

import extract_msg
import os

# -------------------------------------------------------------------
# ★ここに読み込みたい.msgファイル名を入力してください
MSG_FILE_NAME = 'sample.msg'
# -------------------------------------------------------------------

# 添付ファイルの保存先フォルダ名
ATTACHMENT_DIR = 'attachments'

def read_msg_file(filename):
    """ .msgファイルを読み込み、内容を表示し、添付ファイルを保存する関数 """

    print(f"--- ファイル '{filename}' の内容 ---")

    try:
        # .msgファイルを開く
        msg = extract_msg.Message(filename)
    except FileNotFoundError:
        print(f"エラー: ファイル '{filename}' が見つかりませんでした。")
        print("プログラムと同じ階層にファイルを置いてください。")
        return
    except Exception as e:
        print(f"ファイルの読み込み中にエラーが発生しました: {e}")
        return

    # 基本情報の表示
    print(f"件名: {msg.subject}")
    print(f"差出人: {msg.sender}")
    print(f"受信日時: {msg.date}")
    print("\n--- 本文 ---")
    print(msg.body)
    print("--- 本文ここまで ---\n")

    # 添付ファイルの処理
    if msg.attachments:
        print("--- 添付ファイル ---")

        # 添付ファイル保存用のフォルダがなければ作成
        if not os.path.exists(ATTACHMENT_DIR):
            os.makedirs(ATTACHMENT_DIR)
            print(f"'{ATTACHMENT_DIR}' フォルダを作成しました。")

        for attachment in msg.attachments:
            # 添付ファイルを保存
            attachment.save(custom_path=ATTACHMENT_DIR)
            print(f"添付ファイル '{attachment.long_filename}' を '{ATTACHMENT_DIR}' フォルダに保存しました。")
    else:
        print("添付ファイルはありません。")

# --- メインの処理 ---
if __name__ == "__main__":
    read_msg_file(MSG_FILE_NAME)
				
			
次のセルに上記のコードを貼り付けて実行した状態

貼り付けたら、ステップ1と同様に再生ボタンをクリックして実行します。
すると、画面の下(スクロールしてください)にメールの「件名」「差出人」「日時」「本文」が表示され、もし添付ファイルがあれば、それも自動で保存してくれます!

まとめ

この方法を使えば、得体の知れないソフトウェアやWebサービスに頼ることなく、安全にお客様から送られてきたWindowsメールのファイルを読むことができます。

同じように悩んでいる方がたくさんいるかもしれないと思い、私自身の備忘録として、今回メモをさせていただきました。 皆様も、もしもの時のために、ぜひご参考にしてくださいね。

最後までお読みいただき、ありがとうございました。

皆様、こんにちは。
ハンズバリュー株式会社のWebデザイナー、神原キサコです。

本日は番外編として、私が日々の業務で直面した、ちょっとした「困った!」と、その解決策についてお話ししたいと思います。

スムーズな連絡の裏側で…

当社では、お客様とのスムーズな連絡を目的に、ビジネスチャットツール「Chatwork」の導入を推進しています。ご契約いただくタイミングでアカウントの作り方をご説明したり、チュートリアルをご提供したり…。気持ちの良いコミュニケーションと、信頼関係の醸成のため、日々活用しています。

そんなある日のこと。お客様とのChatworkで、ピコン♪と通知が。 確認してみると、ファイルが添付されていました。そのファイル名は…

●●●.msg (25.00 KB)

「…ドット エムエスジー…?」

そう、これはWindowsのメールソフトから、メールそのものをドラッグ&ドロップなどで添付したファイル形式だったのです。

開けないファイルのジレンマ

さて、困りました。 Googleで検索すれば、このファイルを開くためのフリーウェアやWebサービスがたくさん見つかります。でも、正直なところ…

  • わざわざこのファイルのためだけに、PCにWindowsメールを設定するのは面倒…。
  • どんな機密情報が書かれているか分からないのに、得体の知れないWebサービスにアップロードするのは怖い!
  • 中国産?どこの誰が作ったか分からないフリーウェアを導入して、ウイルスに感染したらどうしよう…

お客様に「すみません、読めないのでFAXで送ってください!」と言いたくなる気持ちを、ぐっとこらえました。

一度FAXに頼ってしまうと、今後も同じことが繰り返されるかもしれませんし、「メールで転送してください」とお願いすると、せっかく慣れてきたChatworkを使っていただけなくなるかもしれない…。

安全に、スマートに、そして自力で解決する方法はないものか…。 悩んで、悩んで、悩みに悩み尽くした結果、ついに一つの解決策にたどり着きました!

解決策は「Google Colaboratory」!

その解決策とは、Googleが提供している「Google Colaboratory(コラボ)」を活用する方法です。

「Google Colaboratory(通称: Colab)」とは、Googleが提供している、専門的なプログラム(Python)をブラウザ上で簡単に実行できる無料のサービスです。

Google謹製のツールであり、処理はすべてGoogleの安全な環境の中で行われます。
そのため、得体の知れないWebサービスのように、アップロードしたファイルの情報が外部に流出したり、他の目的に使われたりする心配がありません。

「専門的なプログラム」と聞くと、なんだか専門的で難しそうに聞こえるかもしれませんが、大丈夫!これからご紹介する方法ならほぼコピー&ペーストだけで、安全にファイルの中身を確認できます。

一緒に試してみましょう!


Google Colabで「.msg」ファイルを開く3ステップ

ステップ1:ライブラリのインストール

まず、お使いのブラウザ「Google Chrome」でGoogle Colabにアクセスしてください。 すると、コードを入力する画面が表示されます。そこに、以下の1行をコピー&ペーストしてください。

pip install extract-msg

ペーストしたら、コードの左側にある再生ボタン(矢印のアイコン)を1回クリックします。これで、.msgファイルを読むための準備が整います。

Googleコラボで上記のコードを実行した状態。セルにコードをコピーして▲ボタンを押すと動きます。

ステップ2:ファイルのアップロード

次に、問題の.msgファイルをGoogle Colabに読み込ませます。 画面の左側にあるフォルダのアイコンをクリックし、ファイルをアップロードしてください。(ファイルの文字のすぐ下にあります。四角の中に上矢印のマーク。)

【重要】 この時、アップロードするファイル名はsample.msgに変更しておいてください。

(※「このファイルは記録されません」という警告が出ることがありますが、無視して大丈夫です)

ステップ3:内容の読み込みと表示

最後に、以下のソースコードを全てコピーして、新しいコード入力欄に貼り付けます。

Python

import extract_msg
import os

# -------------------------------------------------------------------
# ★ここに読み込みたい.msgファイル名を入力してください
MSG_FILE_NAME = 'sample.msg'
# -------------------------------------------------------------------

# 添付ファイルの保存先フォルダ名
ATTACHMENT_DIR = 'attachments'

def read_msg_file(filename):
    """ .msgファイルを読み込み、内容を表示し、添付ファイルを保存する関数 """

    print(f"--- ファイル '{filename}' の内容 ---")

    try:
        # .msgファイルを開く
        msg = extract_msg.Message(filename)
    except FileNotFoundError:
        print(f"エラー: ファイル '{filename}' が見つかりませんでした。")
        print("プログラムと同じ階層にファイルを置いてください。")
        return
    except Exception as e:
        print(f"ファイルの読み込み中にエラーが発生しました: {e}")
        return

    # 基本情報の表示
    print(f"件名: {msg.subject}")
    print(f"差出人: {msg.sender}")
    print(f"受信日時: {msg.date}")
    print("\n--- 本文 ---")
    print(msg.body)
    print("--- 本文ここまで ---\n")

    # 添付ファイルの処理
    if msg.attachments:
        print("--- 添付ファイル ---")

        # 添付ファイル保存用のフォルダがなければ作成
        if not os.path.exists(ATTACHMENT_DIR):
            os.makedirs(ATTACHMENT_DIR)
            print(f"'{ATTACHMENT_DIR}' フォルダを作成しました。")

        for attachment in msg.attachments:
            # 添付ファイルを保存
            attachment.save(custom_path=ATTACHMENT_DIR)
            print(f"添付ファイル '{attachment.long_filename}' を '{ATTACHMENT_DIR}' フォルダに保存しました。")
    else:
        print("添付ファイルはありません。")

# --- メインの処理 ---
if __name__ == "__main__":
    read_msg_file(MSG_FILE_NAME)
次のセルに上記のコードを貼り付けて実行した状態

貼り付けたら、ステップ1と同様に再生ボタンをクリックして実行します。
すると、画面の下(スクロールしてください)にメールの「件名」「差出人」「日時」「本文」が表示され、もし添付ファイルがあれば、それも自動で保存してくれます!


まとめ

この方法を使えば、得体の知れないソフトウェアやWebサービスに頼ることなく、安全にお客様から送られてきたWindowsメールのファイルを読むことができます。

同じように悩んでいる方がたくさんいるかもしれないと思い、私自身の備忘録として、今回メモをさせていただきました。 皆様も、もしもの時のために、ぜひご参考にしてくださいね。

最後までお読みいただき、ありがとうございました。

ライター紹介
Picture of 神原キサコ
神原キサコ

ハンズバリュー株式会社のメインデザイナーです。ホームページデザイン業務を中心に活動しています。
新しい情報を調べて皆さんにたくさんお伝えできればと思っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトは reCAPTCHA によって保護されており、Google のプライバシーポリシー および 利用規約 に適用されます。

reCaptcha の認証期間が終了しました。ページを再読み込みしてください。