我已经能够使用exchangelib登录我组织的Office 365电子邮件并使用Python检索邮件。现在,给定一条消息,我想要检索其所有原始标头。 item.headers
仅提供一些标题;例如,To
和From
不见了。
答案 0 :(得分:0)
This article表示您可以使用名为PR_TRANSPORT_MESSAGE_HEADERS
的扩展属性,该属性包含标记0x7d
和类型String
。这是一个完整的示例,可以在收件箱中打印第一条消息的原始标题。
import exchangelib as E
user = 'wgates@microsoft.com'
password = 'hunter2'
class RawHeaders(E.ExtendedProperty):
property_tag = 0x7d
property_type = 'String'
E.items.Message.register('rawheaders', RawHeaders)
E.items.MeetingRequest.register('rawheaders', RawHeaders)
print("Logging in…")
account = E.Account(
primary_smtp_address = user,
autodiscover = True,
credentials = E.Credentials(username = user, password = password),
access_type = E.DELEGATE)
print(account.inbox.all()[0].rawheaders)