Я пытаюсь прочитать все электронные письма из даты и времени, связанных с курсивом.
mail = imaplib.IMAP4_SSL(self.url, self.port)
mail.login(user, password)
mail.select(self.folder)
since = datetime.strftime(since, '%d-%b-%Y %H:%M:%S')
result, data = mail.uid('search', '(SINCE "'+since+'")', 'UNSEEN')
Он отлично работает без времени. Можно ли искать со временем также
Спасибо
К сожалению нет. Общий язык поиска IMAP, определенный в RFC 3501 §6.4.4, не содержит каких-либо положений для поиска по времени.
SINCE
определяется как элемент <date>
, который, в свою очередь, определяется как date-day "-" date-month "-" date-year
, либо с кавычками, либо без них.
IMAP даже не осведомлен о часовом поясе, поэтому вам придется локально отфильтровывать первые несколько сообщений, которые не соответствуют вашему диапазону, в зависимости от их позиции INTERNALDATE
. Возможно, вам даже придется получать дополнительные сообщения за день.
Если вы используете Gmail, вы можете использовать язык поиска Gmail, доступный как расширение.