以前の記事では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