2016-08-03 197 views
1

我有下面的代碼,它可以閱讀我Outlook收件箱中最新的電子郵件並打印該郵件的正文。但是,我希望能夠指定一個靜態電子郵件地址,並返回該人的所有消息。我將如何更改代碼來做到這一點?如何在Python中搜索特定的Outlook電子郵件

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI") 
inbox = outlook.GetDefaultFolder(6) 
messages = inbox.Items 
message = messages.Getlast 
body_content = message.body 
print body_content 

我想這將是爲改變「messages.Getlast」的東西像「messages.Get(」電子郵件地址在這裏「),但沒有運氣那麼簡單。

在此先感謝您的幫助。

回答

1

你已經一個腳本,讓你獲得信息的列表文件夾中:

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI") 
inbox = outlook.GetDefaultFolder(6) 
messages = inbox.Items 

一旦你得到了所有的信息,你只需要檢查郵件發件人是一樣的:

sender = "my_sender" 
sender = sender.lower() 
for message in messages: 
    if sender in message.sender.lower(): 
     # This message was send by sender 
     print message.body 

該代碼應打印每message in messages其中sender包含在message.sender的身體。

我已添加lower()函數以避免大寫字母出現問題。您可能想要將其刪除。

希望它會有所幫助。

相關問題