Python NLTK для проверки электронной почты - PullRequest
0 голосов
/ 07 февраля 2020

Итак, у меня есть код 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()

Как мне этого добиться?

...