Как при парсинге почтового ящика получить список писем за определённые даты?
Пишу на питоне. Использую imaplib, email. Хочу написать код который сможет получать список писем, за определённый промежуток времени. К примеру за даты с 20.03.2023 по 23.03.2023. Основная проблема, это прописать условия поиска писем по дате. Я нашёл код который выдаёт список писем по папкам, может его можно переделать под фильтрацию по датам, если нет, пожалуйста, предложите иное решение.
import imaplib
import email
from email.header import decode_header
import webbrowser
import os
# account credentials
username = "@outlook.com"
password = "password"
imap_server = "outlook.office365.com"
imap = imaplib.IMAP4_SSL(imap_server)
# authenticate
imap.login(username, password)
status, messages = imap.select("INBOX")
# number of top emails to fetch
N = 3
# total number of emails
messages = int(messages[0])
for i in range(messages, messages-N, -1):
# fetch the email message by ID
res, msg = imap.fetch(str(i), "(RFC822)")
for response in msg:
if isinstance(response, tuple):
# parse a bytes email into a message object
msg = email.message_from_bytes(response[1])
# close the connection and logout
imap.close()
imap.logout()
Источник: Stack Overflow на русском