Итак, у меня есть этот класс, который начинается следующим образом:
class emailreader():
def __init__(self, server, port, username, password):
self.imap_server = imaplib.IMAP4_SSL(server, int(port))
self.imap_server.login(username, password)
self.imap_server.select('INBOX')
def _get_raw_emails(self):
messages = []
typ, data = self.imap_server.search(None, 'UnSeen')
for num in data[0].split():
typ, data = self.imap_server.fetch(num, '(RFC822)')
messages.append(data[0][1])
return messages
Он отлично работает для извлечения таких сообщений:
mail = emailreader(server, port, username, password)
emails = mail._get_raw_emails()
Но если я отправлю новое сообщение на eадрес электронной почты. Я не могу просто запустить последнюю строку снова, новая почта не будет отображаться, пока я не удалю почтовый объект и не начну все сначала.Это почему?Нужно ли сбрасывать последний поиск или что-то?
Редактировать: Я думаю, что нашел решение.Я должен был также сделать imap_server.check () ...