Я пытаюсь выполнить поиск только непрочитанных писем с определенного адреса электронной почты. Когда я запускаю этот код в моей тестовой среде, все работает отлично. Когда я переместил его в рабочую электронную почту и изменил соответствующие переменные, я получаю случайные электронные письма. Письма не являются непрочитанными, и они не принадлежат указанному мною адресу электронной почты. Я неправильно форматирую строку поиска?
Я уже проверил правильность адресов электронной почты. Я могу войти и получить письмо обратно из строки поиска. Оригинал, который я получил, был помечен как «помеченный», но я удалил все звёзды из электронного письма и все равно ничего не получил
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()
Я ожидаю получить непрочитанные электронные письма с адреса электронной почты продавца, указанного в классе. Я не получаю ни непрочитанных писем, ни писем с адреса электронной почты, который ищу.