我正在建立新的业务流程,在该流程中,我将检索电子邮件中主题为“每日摘要”和“交易建议”的所有Outlook电子邮件。到目前为止,我只能提取电子邮件的正文。但是,理想情况下,我想捕获“交易提示”内容并将其与电子邮件的基本数据(即发件人姓名和电子邮件日期)一起存储到excel文件中。
“交易建议”段落位于电子邮件的末尾,但是在此之后有基本的电子邮件签名,我怎么只能检索“交易建议”段落?
到目前为止,这是我的代码,仅显示电子邮件的正文:
import win32com.client
import os
outlook=win32com.client.Dispatch("Outlook.Application").GetNameSpace("MAPI")
inbox=outlook.GetDefaultFolder(6)
message=inbox.Items
message2=message.GetLast()
subject=message2.Subject
body=message2.body
date=message2.senton.date()
sender=message2.Sender
attachments=message2.Attachments
for m in message:
if 'Daily Summary' in m.Subject :
print(m.body)
预期结果
Date Sender Trade Idea
1-Jul-19 John Doe Buying ABC stock, selling DEF stock
答案 0 :(得分:0)
所有主题为“每日摘要”和“交易建议”的Outlook电子邮件
要获取与您的条件相对应的项目,您需要使用Find
类的FindNext
/ Restrict
或Items
方法,请在以下内容中详细了解它们文章:
此外,您可能会发现Outlook Application类的AdvancedSearch方法很有帮助。在Outlook中使用AdvancedSearch
方法的主要好处是:
AdvancedSearch
方法会在后台自动运行该线程。Restrict
和Find
/ FindNext
方法可以应用于特定的Items
集合(请参阅Outlook中Items
类的Folder
属性)。IsInstantSearchEnabled
类的Store
属性)。Stop
类的Search
方法停止搜索过程。Outlook对象模型提供了三种处理项目正文的主要方法:
有关更多信息,请参见Chapter 17: Working with Item Bodies。