Я читаю этот документ о подключении к моему серверу IMAP и чтении электронных писем, но у меня есть некоторые проблемы.
В настоящее время у меня около 10 тысяч электронных писем, и их количество растет (я удаляю старые электронные письма еженедельно, но их по-прежнему много), и в этой части кода он извлекает все электронные письма:
res, msg = imap.fetch(str(i), "(RFC822)")
Мои электронные письма имеют такой статический формат темы:
StaticText1 - SUBJECT - SentDateYYYY-MM-DD Hour:Minute
StaticText2 - SUBJECT - SentDateYYYY-MM-DD Hour:Minute
Для простоты представим себе такой список:
dates = ['2024-07-16', '2024-07-16', '2024-07-16', '2024-07-16', '2024-07-16', '2024-07-16', '2024-07-16', '2024-07-15', '2024-07-15', '2024-07-15', '2024-07-15', '2024-07-15', '2024-07-15', '2024-07-15', '2024-07-15', '2024-07-14', '2024-07-14', '2024-07-14', '2024-07-14', '2024-07-14', '2024-07-14', '2024-07-13', '2024-07-13', '2024-07-13', '2024-07-13', '2024-07-13', '2024-07-13', '2024-07-13']
Итак, допустим, чтение каждого письма занимает не менее 0,1 секунды, а для 10 тысяч писем это будет очень много времени.
Я читаю электронные письма в мой код от самого последнего до самого старого.
Я собираюсь достичь этого:
if datetime.datetime.now().strftime('%Y-%m-%d') in subject or (datetime.datetime.now() - datetime.timedelta(days=1)).strftime('%Y-%m-%d') in subject:
# then read email
print(email)
else:
# as soon as it reaches an email which has 2024-07-14, it breaks the loop and shouldn't try anything further
break
Главный вопрос: возможно ли это вообще?
Обновление1
Чтобы уточнить, я это знаю, но оно читает каждое письмо и, если оно не содержит даты, прерывается и переходит к другому письму (которое не является исключением):
for subject in emails:
if today in subject or yesterday in subject:
print(subject)
Подробнее здесь: https://stackoverflow.com/questions/787 ... -yesterday
Как разорвать цикл, только если тема электронного письма не содержит сегодняшнюю или вчерашнюю дату ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как заставить datepicker показывать сегодняшнюю дату в новой форме, используя php
Anonymous » » в форуме Php - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-