【问题标题】:Only get message text from body using O365 python仅使用 O365 python 从正文中获取消息文本
【发布时间】:2021-07-15 02:00:24
【问题描述】:

我编写了一个简单的 python 脚本来从我的租户内的某个用户那里获取收件箱。为此,我使用了 O365 库。代码如下:

import O365
from O365 import Account, Connection,  MSGraphProtocol, Message
from datetime import datetime, timedelta, date

credentials = ('my_client_id', 'my_client_secret')


account = Account(credentials, auth_flow_type='credentials', tenant_id='mytenantid')
if account.authenticate():
   print('Authenticated!')

account.connection.refresh_token()

mailbox = account.mailbox(resource='user@company.com')
query = mailbox.new_query()
query = query.on_attribute('created_date_time').greater(datetime(2021, 7, 11))

inbox=mailbox.inbox_folder()


for message in inbox.get_messages(query=query):
    print(message.body)

问题是,当我打印正文消息时,我会在控制台中以纯文本形式打印完整的 html 和 css。有没有办法只获取消息的内容而不获取任何 html 或 css?我应该编写一个方法来摆脱 html/css 吗?

【问题讨论】:

    标签: python html css office365


    【解决方案1】:

    尝试使用body_preview 属性,它返回正文预览而不是当前消息的正文。

    【讨论】:

    • 嗨,谢谢,这真的很有帮助,不过我遇到了一个问题,body_preview 方法不会返回消息的完整预览,特别是如果它是一个消息线程,但是,如果我使用 get_body_text () 我确实得到了所有内容,但都是一个字符串且无法阅读,您对我有什么建议吗?
    • 我建议在新线程中单独发布另一个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-06
    • 1970-01-01
    • 2011-05-31
    • 2017-01-22
    相关资源
    最近更新 更多