Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Parsing msg/eml files with Python 2.7

Is there a library that can parse msg or eml files? I wrote a script that parses an email once it is converted to a txt file, but i cannot find an email client that allows me to easily drag-n-drop emails from the gui into a folder as a txt file (if someone knows this i would love to know!)

Drag-n-dropping from Outlook creates a .msg file and Thunderbird creates an .eml file. Does anyone know of a library that will parse these files like these?

like image 521
D3l_Gato Avatar asked Dec 27 '22 09:12

D3l_Gato


2 Answers

For *.eml files you can use email module from standard library. You will need to use Parser from email.parser to create a message object.

like image 158
Genester Avatar answered Dec 31 '22 14:12

Genester


`from mailparser import MailParser

parser = MailParser()
parser.parse_from_file(f)
parser.parse_from_string(raw_mail)
parser.body
parser.headers
parser.message_id
parser.to_
parser.from_
parser.subject
parser.text_plain_list: only text plain mail parts in a list
parser.attachments_list: list of all attachments
parser.date_mail
parser.parsed_mail_obj: tokenized mail in a object
parser.parsed_mail_json: tokenized mail in a JSON
parser.defects: defect RFC not compliance
parser.defects_category: only defects categories
parser.has_defects
parser.anomalies
parser.has_anomalies
parser.get_server_ipaddress(trust="my_server_mail_trust")`
like image 22
Leon-Paul Schaub Avatar answered Dec 31 '22 14:12

Leon-Paul Schaub