Извлечение файлов из сообщений Outlook (библотека extract_msg извлекает не все файлы)

Доброго времени суток.

Подскажите, пожалуйста, есть такая проблема. Нужно извлекать вложенные в сообщения msg файлы и копировать их в определенную папку. Когда вложенных файлов 1 или 2, то всё работает нормально. Если больше - извлекаются только первые два. Остальные как будто не видны. И даже в обработку ошибок не попадает. В чем может быть проблема?

PythonВыделить код

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

for msg_file in fil.glob('.msg'):  # Для каждого файла с расширением .msg в папке fil
                    
                    result = None
                    filename = None
                    
                    try:
        
                        msg = Message(str(msg_file))  # Создаем объект сообщения Message, используя путь к файлу
                        
                        for attachment in msg.attachments: # Для каждого вложенного файла в сообщении
                            
                            result = None
                            filename = None
                            
                            if attachment.longFilename.lower().endswith(('.xlsx', '.xls', '.xlsb')):
                                
                                filename = attachment.longFilename # Получаем имя вложенного файла
                                
                                output_file = itog / filename  # Формируем путь к выходному файлу в папке itog
 
                                with open(output_file, 'wb') as f:  # Открываем выходной файл для записи бинарных данных
                                    f.write(attachment.data)  # Записываем данные вложенного файла в выходной файл
                                result = "Файлы из сообщения успешно скопированы в папку ""итог"" "   
                                write_to_protocol(ws_protocol, fil_name, filename, result)   
                                
                    except Exception as e:
                            
                        result = (f"ошибка переноса: {e}")
                        write_to_protocol(ws_protocol, fil_name, None, result)