参考書籍
本記事は以下の書籍などを参考に実際に実装したものを記事にしております。
リンク
リンク
使用ライブラリ
・Win32com.client
標準ライブラリのためインストール不要
コード
◆すべてのアカウントのサブフォルダを含むすべてのメール情報を取得する。
<コード>
import win32com.client
# ApplicationオブジェクトのOutlookオブジェクトを取得します。
# その際MAPIを使用して取得します。
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
# Outlookに結び付けているアカウントの受信フォルダ情報を取得します。
accounts = outlook.Folders
for account in accounts:
print("└ ",account)
folders = account.Folders
for folder in folders:
print(" └ ",folder)
mails = folder.Items
for mail in mails:
print("-----------------")
print("1.件名: " ,mail.subject)
print("2.差出人: %s [%s]" % (mail.sendername, mail.senderEmailAddress))
print("3.受信日時: ", mail.receivedtime)
print("4.未読: ", mail.Unread)
print("5.本文: ", mail.body)
◆1つアカウントの受信フォルダ内のメールだけを取得する。
<コード>
import win32com.client
# ApplicationオブジェクトのOutlookオブジェクトを取得します。
# その際MAPIを使用して取得します。
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
# Outlookに結び付けているアカウントの受信フォルダ情報を取得します。
accounts = outlook.Folders[0]
# 指定したアカウントがあっているか確認する。
print(accounts)
for account in accounts:
print("└ ",account)
# 受信フォルダが初めにあると仮定して[0]を指定
folders = account.Folders[0]
for folder in folders:
print(" └ ",folder)
mails = folder.Items
for mail in mails:
print("-----------------")
print("1.件名: " ,mail.subject)
print("2.差出人: %s [%s]" % (mail.sendername, mail.senderEmailAddress))
print("3.受信日時: ", mail.receivedtime)
print("4.未読: ", mail.Unread)
print("5.本文: ", mail.body)
コメント