https://github.com/domainaware/parsedmarc
A Python package and CLI for parsing aggregate and forensic DMARC reports
https://github.com/domainaware/parsedmarc
Last synced: about 2 months ago
JSON representation
A Python package and CLI for parsing aggregate and forensic DMARC reports
- Host: GitHub
- URL: https://github.com/domainaware/parsedmarc
- Owner: domainaware
- License: apache-2.0
- Created: 2018-02-05T23:08:59.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2026-04-23T06:27:08.000Z (about 2 months ago)
- Last Synced: 2026-04-23T06:27:59.021Z (about 2 months ago)
- Language: Python
- Homepage: https://domainaware.github.io/parsedmarc/
- Size: 63.4 MB
- Stars: 1,233
- Watchers: 25
- Forks: 254
- Open Issues: 88
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: SECURITY.md
- Agents: AGENTS.md
Awesome Lists containing this project
- awesome-opensource-email - parsedmarc - A Python package and CLI for parsing aggregate and forensic DMARC reports - `Apache License version 2.0`, `Python` (Security / DMARC)
- jimsghstars - domainaware/parsedmarc - A Python package and CLI for parsing aggregate and forensic DMARC reports (Python)
- awesome-forensics - **118**星
README
# parsedmarc
[](https://github.com/domainaware/parsedmarc/actions/workflows/python-tests.yml)
[](https://codecov.io/gh/domainaware/parsedmarc)
[](https://pypi.org/project/parsedmarc/)
[](https://pypistats.org/packages/parsedmarc)
`parsedmarc` is a Python module and CLI utility for parsing DMARC
reports. When used with Elasticsearch and Kibana (or Splunk), it works
as a self-hosted open-source alternative to commercial DMARC report
processing services such as Agari Brand Protection, Dmarcian, OnDMARC,
ProofPoint Email Fraud Defense, and Valimail.
> [!NOTE]
> __Domain-based Message Authentication, Reporting, and Conformance__ (DMARC) is an email authentication protocol.
## Sponsors
This is a project is maintained by one developer.
Please consider [sponsoring my work](https://github.com/sponsors/seanthegeek) if you or your organization benefit from it.
## Features
- Parses draft and 1.0 standard aggregate/rua DMARC reports
- Parses forensic/failure/ruf DMARC reports
- Parses reports from SMTP TLS Reporting
- Can parse reports from an inbox over IMAP, Microsoft Graph, or Gmail API
- Transparently handles gzip or zip compressed reports
- Consistent data structures
- Simple JSON and/or CSV output
- Optionally email the results
- Optionally send the results to Elasticsearch, Opensearch, and/or Splunk, for
use with premade dashboards
- Optionally send reports to Apache Kafka
## Python Compatibility
This project supports the following Python versions, which are either actively maintained or are the default versions
for RHEL or Debian.
| Version | Supported | Reason |
|---------|-----------|------------------------------------------------------------|
| < 3.6 | ❌ | End of Life (EOL) |
| 3.6 | ❌ | Used in RHEL 8, but not supported by project dependencies |
| 3.7 | ❌ | End of Life (EOL) |
| 3.8 | ❌ | End of Life (EOL) |
| 3.9 | ❌ | Used in Debian 11 and RHEL 9, but not supported by project dependencies |
| 3.10 | ✅ | Actively maintained |
| 3.11 | ✅ | Actively maintained; supported until June 2028 (Debian 12) |
| 3.12 | ✅ | Actively maintained; supported until May 2035 (RHEL 10) |
| 3.13 | ✅ | Actively maintained; supported until June 2030 (Debian 13) |
| 3.14 | ✅ | Supported (requires `imapclient>=3.1.0`) |