LoginSignup
11
16

More than 3 years have passed since last update.

【自動化】Pythonでメール(msgファイル)を読み込む

Last updated at Posted at 2020-06-01

以前の記事ではOutlookからフォルダとメールの情報を読み込む方法を紹介しました。

PythonでOutlookのメールを読み込む
https://qiita.com/konitech913/items/8a285522b0c118d5f905

ここまでしなくても、単独のメールデータ(msgファイル)を読み込んで、メール内の情報を読み込みたいというケースがあると思います。

例えば、「問い合わせのメール」をmsgファイルとして自分のPCのとあるフォルダに保存しておいて、そのファイルから情報を抜き出しExcelに書き写したい場合などです。

msgファイルをPythonで読み込む

outlookを操作するためにはwin32com.clientをimportする必要があります。
私はAnacondaを使っていますが、特に追加でインストールしなくてもimportできました。

import win32com.client

次にOutlookのオブジェクトを作成します。

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")

そして、OpenSharedItem("xxx.msg")というメソッドを使って、対象のmsgファイルを読み込みます。
ここでは「これはテストです.msg」というファイルを読み込みます。


mail = outlook.OpenSharedItem("これはテストです.msg")

このmailがメールを表すインスタンスです。属性の意味は下表の通り。

属性 意味
mail.subject 件名
mail.sendername 差出人名
mail.senderEmailAddress 差出人のメールアドレス
mail.receivedtime 受信日時
mail.body 本文
mail.Unread 未読フラグ

print("件名: " ,mail.subject)
print("差出人: %s [%s]" % (mail.sendername, mail.senderEmailAddress))
print("受信日時: ", mail.receivedtime)
print("未読: ", mail.Unread)
print("本文: ", mail.body)
実行結果
件名:  これはテストです
差出人: ***[*********@gmail.com]
受信日時:  2020-05-30 07:17:33+00:00
未読:  False
本文:  ちゃんと受け取れてますか?

ちゃんと読み込めていますね。

Outlookメールを送信する

Outlookのメール送信をPythonで行う方法についてはこちらの記事を参照ください。
https://qiita.com/konitech913/items/51867dbe24a2a4272bb6

11
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
16