поэтому я работаю над сценарием, который в основном работает в фоновом режиме и извлекает данные из любого полученного электронного письма, содержащего определенное слово в теме и от конкретного человека.Тем не менее, я не могу заставить его анализировать тему при запуске, поскольку он продолжает выдавать мне ошибку, в которой говорится, что «начальное значение должно быть str или none, а не байты», и я не уверен, что это значит или как его исправить.Вот что у меня есть:
import email
import imaplib
from bs4 import BeautifulSoup
import time
import sys
username = 'asadrasdfasdi@asdfasdf.ca'
password = 'asdfasdfasasdf'
mail = imaplib.IMAP4_SSL('imap-mail.outlook.com')
(retcode, capabilities) = mail.login(username, password)
mail.list()
n=0
while True:
mail.select('inbox')
(retcode, messages) = mail.search(None, 'UNSEEN', '(SUBJECT "XXXXX-
")', '(FROM "XXX.XXX@XXX.ca")')
if retcode == 'OK':
for num in messages[0].split():
n=n+1
print('Processing Email ' + str(n) + ': ')
typ, data = mail.fetch(num, '(RFC822)')
for response_part in data:
if isinstance(response_part, tuple):
original = email.message_from_string(response_part[1])
print("Subject: " + original['Subject'])
typ, data = mail.store(num,'+FLAGS','\\Seen')
time.sleep(120)