Попытка вернуть электронную почту в течение последних 24 часов, используя ExchangeLib - PullRequest
1 голос
/ 25 марта 2019

Я пытаюсь использовать 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)

Я пытался найти ссылки на то, как это сделать, но, честно говоря, я ничего не нашел.Любые рекомендации?

1 Ответ

0 голосов
/ 26 марта 2019

Вам необходимо добавить фильтр больше, чем в поле 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...