Почему я получаю случайные электронные письма из этого поиска, используя IMAPLIB? - PullRequest
0 голосов
/ 28 апреля 2019

Я пытаюсь выполнить поиск только непрочитанных писем с определенного адреса электронной почты. Когда я запускаю этот код в моей тестовой среде, все работает отлично. Когда я переместил его в рабочую электронную почту и изменил соответствующие переменные, я получаю случайные электронные письма. Письма не являются непрочитанными, и они не принадлежат указанному мною адресу электронной почты. Я неправильно форматирую строку поиска?

Я уже проверил правильность адресов электронной почты. Я могу войти и получить письмо обратно из строки поиска. Оригинал, который я получил, был помечен как «помеченный», но я удалил все звёзды из электронного письма и все равно ничего не получил

def get_emails(self):

        mail = imaplib.IMAP4_SSL("imap.gmail.com")
        mail.login(self.email_user,self.email_password)

        mail.select("Inbox")

        try:
            # Search for emails that are unread from the sender email address passed in
            status, emails_from_vendor = mail.search(None, ('UNSEEN FROM "{}"'.format(self.vendor_email_address)))

            if status != "OK":
                raise

            # Break if there are no unread emails in the inbox.
            if len(emails_from_vendor[0]) == 0:
                raise

            most_recent_email = emails_from_vendor[0][-1]
            status2, email_data = mail.fetch(most_recent_email, "(RFC822)")

            if status2 != "OK":
                raise

            raw_email = email_data[0][1].decode("utf-8")
            print(raw_email)
            raw_message_from_string = email.message_from_string(raw_email)
            rvf = self.get_attachments(raw_message_from_string)
            return rvf

        except:
            sys.exit("Could not retrieve emails.")

        mail.logout()

Я ожидаю получить непрочитанные электронные письма с адреса электронной почты продавца, указанного в классе. Я не получаю ни непрочитанных писем, ни писем с адреса электронной почты, который ищу.

...