Чтение настроенных тегов/флагов в Outlook с использованием ExchangeLib в Python 3.7

Я читаю почту в Outlook, которая содержит настроенные теги/флаги. Среди которых есть тег Approved. Я пытаюсь получить доступ к почте от конкретного отправителя, чей тег одобрен с использованием библиотеки ExchangeLib в python.

Я пробовал несколько методов, доступных в библиотеке ExchangeLib, но безуспешно. Я просто хотел распечатать этот тег Approved в консоли. Я пробовал с помощью следующих методов:

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

Изображение Customized_Tags содержит утвержденный тег

см. ниже Привязку кода:

from exchangelib import Credentials, Account

credentials = Credentials('[email protected]', 'topsecret')
account = Account('[email protected]', 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

person PRITAM MESHRAM    schedule 21.01.2021    source источник


Ответы (1)


Флаги — это так называемые расширенные свойства в Exchange. Информация о работе с расширенными свойствами в exchangelib есть по адресу https://ecederstrand.github.io/exchangelib/#extended-properties

Вам нужно найти волшебный токен, представляющий расширенное свойство, содержащее данные флага, а затем определить пользовательское поле в exhcangelib и зарегистрировать его как новое поле с именем tag.

person Erik Cederstrand    schedule 22.01.2021
comment
Спасибо за подробности @Erik, мы прошли по ссылке (ecederstrand.github.io/exchangelib /#extended-properties) и понял процедуру установки расширенных свойств. Пытался установить, как показано ниже: class Flag(ExtendedProperty): property_tag = 0x1090 property_type = 'Integer' Но не удалось найти точный тег свойства/uuid для пользовательского тега. - person PRITAM MESHRAM; 28.01.2021
comment
Привет, Эрик, я также пробовал с приведенным ниже кодом, но он по-прежнему не дает значения тега: disabled_property_set_id = 'PublicStrings' property_name = 'test' property_type = 'String' Не могли бы вы помочь мне найти точный тег свойства. - person PRITAM MESHRAM; 01.02.2021