python-3.x - 在 Python 3.7 中使用 ExchangeLib 读取 Outlook 中的自定义标签/标志
问题描述
我正在阅读 Outlook 中包含自定义标签/标志的邮件。其中一个是标签“已批准”。我正在尝试使用 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
请参阅下面的代码快照:
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
.
推荐阅读
- python - 删除 tkinter 滑块覆盖
- c# - C# 中外部计算散列的 PKCS#7 签名
- python - 心理学中的简单矩形实验
- sql - 使用 PostgreSQL 列表中的值随机填充表列
- python - 从 url 获取文本返回空数据框
- python - 如何在 django 中加载经过训练的模型
- asp.net-core - 将对象(和子对象)从 Razor 页面发送到另一个页面
- cookies - Cookie 在生产 NextJS getServerSideProps 中未定义
- java - 如何在多个 Json Schema 文件中使用 $id 和 $ref
- ios - 如何查看蓝牙状态?