如何使用Python从Outlook中删除特定内容

2024-09-25 02:38:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在建立新的业务流程,在这里我将检索所有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


Tags: importclient内容messagedate电子邮件bodysender
1条回答
网友
1楼 · 发布于 2024-09-25 02:38:52

all outlook emails with subject "Daily Summary" and "Trade Idea"

要获取与您的条件相对应的项,您需要使用Find/FindNextRestrict类的Items方法,请在以下文章中阅读有关它们的更多信息:

另外,您可能会发现Outlook应用程序类的AdvancedSearch方法很有用。在Outlook中使用AdvancedSearch方法的主要好处是:

  • 搜索在另一个线程中执行。您不需要手动运行另一个线程,因为AdvancedSearch方法会在后台自动运行它。你知道吗
  • 可以在任何位置搜索任何项目类型:邮件、约会、日历、笔记等,即超出某个文件夹的范围。RestrictFind/FindNext方法可以应用于特定的Items集合(请参见Outlook中Folder类的Items属性)。你知道吗
  • 完全支持DASL查询(自定义属性也可用于搜索)。您可以在MSDN的Filtering文章中阅读更多关于这方面的内容。为了提高搜索性能,如果为存储启用了即时搜索,则可以使用即时搜索关键字(请参见Store类的IsInstantSearchEnabled属性)。你知道吗
  • 您可以随时使用Search类的Stop方法停止搜索过程。你知道吗

Outlook对象模型提供了三种处理项目体的主要方法:

  1. Body。你知道吗
  2. HTMLBody。你知道吗
  3. 文字编辑。Inspector类的WordEditor属性返回表示消息体的Word文档的实例。因此,您可以使用Word对象模型对消息体执行任何需要的操作。你知道吗

详见Chapter 17: Working with Item Bodies。你知道吗

相关问题 更多 >