Анализ «полученных» полей в msg-файле с использованием extract-msg на Python

#python #email

#python #Адрес электронной почты

Вопрос:

В настоящее время я использую библиотеку Python extract-msg для анализа почтовых адресов отправителей сотен писем, хранящихся в файле .msg на моем диске.

 import extract_msg

msg = extract_msg.Message(path_to_msg_file)
sender_string = msg.sender
 

Это работает отлично. Поскольку я предполагаю, что некоторые адреса отправки могут быть подделаны, я хочу выяснить, какой ретранслятор (IP-адрес или имя хоста) использовался для первоначальной отправки почты. Когда я открываю один из msg-файлов в Outlook, я вижу следующую информацию в заголовке почты (я анонимизировал все имена хостов, используя HOSTNAME, и все IP-адреса, используя IP_ADDRESS .) :

 Received: from HOSTNAME  (10.10.211.23) by HOSTNAME 
 (IP_ADDRESS) with Microsoft SMTP Server (TLS) id IP_ADDRESS via Mailbox
 Transport; Mon, 25 Oct 2021 07:38:40  0000
Received: from HOSTNAME  (10.10.211.94) by HOSTNAME 
 (IP_ADDRESS) with Microsoft SMTP Server (TLS) id IP_ADDRESS; Mon, 25 Oct
 2021 07:38:40  0000
Received: from HOSTNAME  (185.112.125.197) by HOSTNAME 
 (IP_ADDRESS) with Microsoft SMTP Server (TLS) id IP_ADDRESS via Frontend
 Transport; Mon, 25 Oct 2021 07:38:40  0000
 

Последняя запись в строке / запись с самой старой меткой времени должна указывать на сервер, с которого изначально приходит почта. Есть ли способ извлечь эту информацию с помощью extract-msg или любой другой библиотеки Python? Поскольку у меня сотни писем, было бы невозможно сделать это вручную с помощью Outlook.