Я пишу скрипт, который сможет извлекать вложения из электронных писем и сохранять их как новое имя файла в определенном каталоге. По какой-то причине я выполняю код и получаю сообщение об ошибке от модуля электронной почты, в котором говорится, что объект не является подписным. Интересно, может ли кто-нибудь помочь мне решить эту проблему? Я знаю, что означает ошибка, но я новичок в модуле электронной почты, поэтому не могу понять, что мне нужно сделать, чтобы обойти ее.
# Extracts Attachment and saves as new file
def get_attachment(msg):
for part in msg.walk():
if part.get_content_maintype() == 'multipart':
continue
if part.get('Content-Disposition') is None:
continue
fileName = part.getfilename()
if bool(fileName):
filePath = os.path.join(attachment_dir, fileName)
with open(filePath, 'wb') as file:
file.write(part.get_payload(decode=True))
os.rename(fileName, 'SpecialSituations_P&L ' + current_date() + '.png')
con = auth(username, password, imap_url)
#Select Email Folder
con.select('INBOX')
result, data = con.fetch(b'1440','(RFC822)')
raw = email.message_from_bytes(data[0][1])
get_attachment(raw)]
СООБЩЕНИЕ ОБ ОШИБКЕ
File "extract_attachment_from_mail.py", line 45, in <module>
raw = email.message_from_bytes(data[0][1])
TypeError: 'NoneType' object is not subscriptable