1

我已经编写了代码以使用 exchangelib 库将 MS Exchange 服务器电子邮件正文下载为 html,但它下载了没有 <> 括号的 html 内容

import datetime
from exchangelib import ServiceAccount, Account, Configuration, DELEGATE
from exchangelib import EWSDateTime, EWSTimeZone, EWSDate, 

server = 'server url'
username = 'username'
password= 'password'
credentials = ServiceAccount(username=username, password=password)
config = Configuration(server=server, credentials=credentials)
account = Account(
    primary_smtp_address='xyz@gmail.com',
    config=config, credentials=credentials,
    autodiscover=False,
    access_type=DELEGATE
)

# to fetch 6 days before emails
tz = EWSTimeZone.localzone()
end = tz.localize(EWSDateTime.combine(EWSDate.today(), datetime.time(0)))
start = end - datetime.timedelta(days=6)
for item in account.inbox.filter(datetime_received__range=(start, end)):
    emailbody = item.body
    with open('test.html', 'w', encoding='utf-8') as fdata:   
        fdata.write(emailbody)

预期结果:

<html><head>....</head></html>

实际输出:

html head .../head /html
4

1 回答 1

1

这可能就是从服务器接收正文的方式。如果启用调试日志记录,您可以看到主体的实际外观。

于 2019-04-12T08:36:09.937 回答