问题
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