How to access a subfolder in Outlook inbox in Python

风格不统一 提交于 2019-12-12 04:32:47

问题


I have created a rule in Outlook to move all incoming messages from a particular sender to a subfolder in my Inbox.Like -

Inbox
- Subfolder

I wrote a piece of code

import win32com.client

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

inbox = outlook.GetDefaultFolder(6) #6 = Inbox (without mails from the subfolder)
messages = inbox.Items
message = messages.GetLast()
body_content = message.body 
print body_content #Sometimes has parsing error due to different encoding format

How can I

1) Read the mails in this particular folder inside Inbox

2) Take care of error like UnicodeEncodeError: 'charmap' codec can't encode - character maps to

print (u'\2109') issues this error too.


回答1:


u'\2109' looks a lot like UTF-8 encoding.

So print(body_content.encode("utf-8")) will do the trick.




回答2:


outlook.GetDefaultFolder(6) is "Inbox" position by default. You need to traverse the list of folders in it, so try this

inbox = outlook.GetDefaultFolder(6).Folders.Item("Your_Folder_Name")


来源:https://stackoverflow.com/questions/41563286/how-to-access-a-subfolder-in-outlook-inbox-in-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!