Python imaplib поиск электронной почты с датой и временем - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь прочитать все электронные письма с определенной даты и времени.

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')

Работает нормально без времени. Возможен ли поиск по времени также

Спасибо

1 Ответ

0 голосов
/ 29 августа 2018

К сожалению нет. Общий язык поиска IMAP, определенный в RFC 3501 §6.4.4 , не включает каких-либо условий для поиска по времени.

SINCE определяется для получения элемента <date>, который, в свою очередь, определяется как date-day "-" date-month "-" date-year, с кавычками или без них.

IMAP даже не знает о часовом поясе, поэтому вам придется локально отфильтровать первые несколько сообщений, которые не вписываются в ваш диапазон, на основе их элемента INTERNALDATE. Возможно, вам даже придется получить дополнительные дни сообщений.

Если вы используете Gmail, вы можете использовать язык поиска Gmail, который доступен как расширение .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...