2016-08-03 2 views
1

У меня есть следующий код, который работает, он может читать самую последнюю электронную почту в моем почтовом ящике Outlook и печатать тело этого сообщения. Однако я хочу указать статический адрес электронной почты и вернуть все сообщения от этого человека. Как я могу изменить код для этого?Как найти конкретный адрес электронной почты Outlook в python

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(), чтобы избежать проблем с крышками. Вы можете удалить его.

Надеюсь, это поможет.

Смежные вопросы