Извлечение вложения из электронной почты с использованием IMAP. У меня ошибка синтаксического анализа? - PullRequest
0 голосов
/ 24 марта 2019

Я пишу скрипт, который сможет извлекать вложения из электронных писем и сохранять их как новое имя файла в определенном каталоге. По какой-то причине я выполняю код и получаю сообщение об ошибке от модуля электронной почты, в котором говорится, что объект не является подписным. Интересно, может ли кто-нибудь помочь мне решить эту проблему? Я знаю, что означает ошибка, но я новичок в модуле электронной почты, поэтому не могу понять, что мне нужно сделать, чтобы обойти ее.


# 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...