Parsing msg/eml files with Python 2.7

2019-06-27 09:36发布

问题:

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?

回答1:

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.



回答2:

`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")`