Parses an email message file and extracts the data from it.
The key features are:
- Supports
.eml
and.msg
files. - Extracts nested attachments.
Python 3.8.5+
$ pip install parse-emails
$ brew install libmagic
The main class EmailParser
contains all what you need to parse an email:
import parse_emails
email = parse_emails.EmailParser(file_path=<file_path>, max_depth=3, parse_only_headers=False)
email.parse()
print(email.parsed_email['Subject'])
Argument Name | Description |
---|---|
file_path* | the file_path of a in msg or eml format |
parse_only_headers | Will parse only the headers and return headers table, Default is False |
max_depth | How many levels deep we should parse the attached emails (e.g. email contains an emails contains an email). Default depth level is 3. Minimum level is 1, if set to 1 the script will parse only the first level email |
file_info | the file info |
Contributions are welcome and appreciated. To contribute you can submit a PR.
Before merging any PRs, we need all contributors to sign a contributor license agreement. By signing a contributor license agreement, we ensure that the community is free to use your contributions.
When you open a new pull request, a bot will evaluate whether you have signed the CLA. If required, the bot will comment on the pull request, including a link to accept the agreement. The CLA document is also available for review as a PDF.
If the license/cla
status check remains on Pending, even though all contributors have accepted the CLA, you can recheck the CLA status by visiting the following link (replace [PRID] with the ID of your PR): https://cla-assistant.io/check/demisto/email-parser?pullRequest=[PRID] .