3

我正在尝试使用 ExchangeLib 在过去 24 小时内返回收件箱中的所有电子邮件。我目前已将其设置为返回收件箱中的最新电子邮件,我只需要 24 小时部分的帮助。这是我到目前为止所拥有的:

credentials = Credentials('My@email', 'password')
account = Account('My@email', credentials=credentials, autodiscover=True)

for item in account.inbox.all().order_by('-datetime_received')[:1]:
    print(item.subject, item.sender.email_address)

    html = item.unique_body

    soup = BeautifulSoup(html, "html.parser")
    for span in soup.find_all('font'):
        return(item.subject, item.sender.email_address, span.text)

我一直在尝试查找有关如何解决此问题的参考资料,但老实说,我找不到太多。有什么建议吗?

4

1 回答 1

3

您需要在字段上添加大于过滤器datetime_received

from datetime import timedelta
from exchangelib import UTC_NOW

since = UTC_NOW() - timedelta(hours=24)
for item in account.inbox.all()\
        .filter(datetime_received__gt=since)\
        .order_by('-datetime_received'):
    # Do something
于 2019-03-26T06:43:43.083 回答