Итак, у меня есть код Python, который отправляет электронные письма с напоминанием о заказе, если уровень риска у них красный. Таким образом, всякий раз, когда код выполняется, любой с таким условием отправляет это письмо через SMTP. Адреса электронной почты находятся в результирующем CSV из кода.
Теперь я хочу проверить мой почтовый ящик, если запрос на заказ уже поступил с адресов электронной почты в CSV, созданном выше, и не отправлять электронное письмо с напоминанием. Он также должен фиксировать детали заказа, такие как продукт и количество заказа.
До сих пор мне удалось просто прочитать электронные письма с этим кодом:
date_time = dt.datetime.now()
user = "email"
password = "pass"
imap_url = "imap.gmail.com"
#connection = imaplib.IMAP4_SSL(imap_url)
connection = imaplib.IMAP4_SSL(imap_url)
connection.login(user, password)
connection.select()
today = dt.datetime.today()
interval = dt.timedelta(days=1)
yesterday = (today - interval).strftime('%d-%b-%Y')
yesterday = str(yesterday)
result, data = connection.uid('search','SINCE', yesterday,r'(X-GM-RAW "subject:\"\"")')
#result, data = connection.uid('search', '(SINCE "'+yesterday+'")', 'UNSEEN')
if result == 'OK':
for num in data[0].split():
result, data = connection.uid('fetch', num, '(RFC822)')
if result == 'OK':
email_message = email.message_from_bytes(data[0][1])
print('From:' + email_message['From'])
#print('To:' + email_message['To'])
print('Date:' + email_message['Date'])
print('Subject:' + str(email_message['Subject']))
subject = str(email_message['Subject'])
#print('Content:' + str(email_message.get_payload()[0])
elif result == 'NO':
print('problem')
connection.close()
connection.logout()
Как мне этого добиться?