我正在构建新的业务流程,我将在其中检索所有主题为“每日摘要”和“交易想法”内容的 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
所有主题为“每日摘要”和“交易理念”的 Outlook 电子邮件
要获取符合您条件的项目,您需要使用
Find
类的 FindNext
/Restrict
或 Items
方法,请在以下文章中阅读有关它们的更多信息:
此外,您可能会发现 Outlook 应用程序类的 AdvancedSearch 方法很有帮助。在 Outlook 中使用
AdvancedSearch
方法的主要好处是:
AdvancedSearch
方法会在后台自动运行它。Restrict
和 Find
/FindNext
方法可应用于特定的 Items
集合(请参阅 Outlook 中 Items
类的 Folder
属性)。IsInstantSearchEnabled
类的 Store
属性)。Stop
类的 Search
方法随时停止搜索过程。Outlook 对象模型提供了三种使用项目主体的主要方法:
请参阅第 17 章:使用项目主体了解更多信息。