Ну, по моему опыту, в контексте, в котором вы работаете, все является Message
объектом. Сообщение, его части, вложения, все. Итак, чтобы выполнить то, что вы хотите сделать, вам нужно
- синтаксический анализ сообщения с использованием API Parser (при этом вы получите корневой объект
Message
)
- Обходите структуру, определяя, что вам нужно, а что нет (используя метод экземпляра Message, - .walk ()), - помните, что все это
Message
.
- Прикрепите все, что вам нужно, к деталям, которые вы извлекли, и все готово.
Повторюсь, что вы работаете с деревом, по сути, с деревом, в котором Message
объекты с .is_multipart () == True являются узлами, а Message
объекты с .is_multipart () == False являются конечными узлами (их полезная нагрузка - строка, а не набор Message
объектов).