在 Python 3.7 中使用 ExchangeLib 在 outlook 中读取自定义 tags/flags

Reading customized tags/flags in outlook using ExchangeLib in Python 3.7

我正在 outlook 中阅读包含自定义 tags/flags 的邮件。其中一个是标签“已批准”。我正在尝试使用 python.

中的 ExchangeLib 库访问来自其标记为“已批准”的特定发件人的邮件

我尝试使用 ExchangeLib 库中提供的多种方法,但没有成功。我只是想在控制台中打印出这个标签“已批准”。我尝试了以下方法:

ID_ELEMENT_CLS account add_field attach attachments body categories conversation_id culture datetime_created datetime_received datetime_sent deregister detach display_cc display_to effective_rights folder has_attachments headers importance in_reply_to is_associated is_draft is_from_me is_resend is_submitted is_unmodified item_class last_modified_name last_modified_time mime_content parent_folder_id register reminder_due_by reminder_is_set reminder_minutes_before_start remove_field response_objects sensitivity size subject supported_fields text_body unique_body validate_field web_client_edit_form_query_string web_client_read_form_query_string

Python - 3.7 Exchangelib - 3.3.2

Image "Customized_Tags" contains "Approved" Tag

参考下面的代码快照:

from exchangelib import Credentials, Account

credentials = Credentials('john@example.com', 'topsecret')
account = Account('john@example.com', credentials=credentials, autodiscover=True)
for item in account.inbox.all().order_by('-datetime_received')[:100]:
    #below is my requirement
    if item.tag == "Approved":
        print(item.tag, item.sender)
    else:
         pass

标志是 Exchange 中所谓的扩展属性。在 https://ecederstrand.github.io/exchangelib/#extended-properties

处有关于在 exchangelib 中使用扩展属性的信息

你必须找到代表包含标志数据的扩展 属性 的魔法令牌,然后在 exhcangelib 中定义一个自定义字段并将其注册为一个名为 tag 的新字段。