使用 python 从 Outlook 响应电子邮件中提取正文

Extracting body from Outlook response email using python

我正在编写一个 python 脚本,它从 Outlook 读取电子邮件然后提取正文 问题是当它读取电子邮件回复时,正文包含以前的电子邮件。 有没有办法避免这种情况,只提取电子邮件的正文。

这是我的代码的一部分:

import requests
import json
import base64

utlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
folder = outlook.Folders.Item("UGAP-AMS-L2")
inbox = folder.Folders.Item("Inbox")
mails = inbox.Items
mails.Sort("[ReceivedTime]", False)

for mail in mails:
        if mail.UnRead == True  :
            print(" mail.Body")

这是我得到的:

-当前邮件的邮件正文-

De : "tracker@gmail.fr" tracker@gmail.fr
日期:2021 年 5 月 21 日 à 08:44
À : 我我@outlook.com
对象:对象

-上一封电子邮件的正文-

您必须自己解析正文以切断任何您不想要的内容。

你想要的是不可能的 - 邮件正文是一个自由格式的文本,允许用户在任何地方输入。我个人一直这样做——我只需输入“见下文”并将我的评论插入原始电子邮件中。没有办法将两者分开。

Outlook 对象模型(也不是 MAPI)没有为此提供任何东西。

没有通用的解决方案或特定的 属性 或完成工作的方法。您可以尝试找到自己的从邮件正文中提取最新内容的算法。